Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Duża ilość rekordów. Lepiej podzielić czy w jednej bazie ?
Forum PHP.pl > Forum > Bazy danych > MySQL
szczalpi
Witam Was.
Mam pytanko do Was. Mam bazę z około 1 mln rekordów. Są to państwa i miasta wpisane w bazę.
Moje pytanie jest następujące. Czy trzymać wszystkie rekordy w bazie, czy lepiej podzielić na państwa wraz z miastami ?
Chodzi głównie, aby przy wyszukiwaniu rekordów działała szybko.
Proszę o radę.
Z góry dziękuje.
viking
Milion to nie jest dużo. Zależy po czym chcesz szukać. Przemyśl indeksy.
szczalpi
Jak lepiej przyjąć. Dzielić czy trzymać wszystko w jednym miejscu ?
Obecnie mam około 1 mln. Jeżeli wszystko dodałbym wyjdzie ponad 4 mln rekordów.
Salvation
Normalizacja, więc Państwa jako tabela i Miasta jako osobna tabela z relacją.
ohm
Cytat(Salvation @ 15.01.2023, 12:01:04 ) *
Normalizacja, więc Państwa jako tabela i Miasta jako osobna tabela z relacją.

+ unikanie duplikowania danych przede wszystkim, jeśli są jakieś parametry powtarzalne to out do osobnej tabeli (oczywiście piszę tu o rozsądnych wyciąganiach a nie byle każda pierdoła)

Ogólnie milion rekordów przy odpowiednio zaplanowanej i wykonanej strukturze to właściwie jest niewiele, dużą rolę także odgrywa odpowiednie ustawienie samego silnika bazy danych (ram, operacje IO, itp)
vokiel
I tak i nie. To zależy dry.gif

Np, jeśli rekordów przybywa, lub są często modyfikowane - normalizacja i rozbicie na osobne tabele.
Ale, gdy to jest jeden stały, albo prawie stały zbiór to lepiej trzymać w jednej tabeli. Odchodzą wtedy JOINy, jeden indeks. A bazę z 1-4 mln wierszy to i na Raspberry Pi można postawić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.