Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Optymalizacja bazy / tabeli
Forum PHP.pl > Forum > Przedszkole
proton
Dzień dobry!

Muszę przeprojektować jedną tabele i chciałbym się was poradzić co będzie lepszym rozwiązaniem.

Otóż mam tabelę "domy" gdzie przechowywuje dane o domach, takie jak lokalizacja, powierzchnia, cena etc. Zasadniczo jeden rekord ma bardzo wiele parametrów która dzielą się na dwie grupy: parametrów podstawowych (lokalizacja, cena, id, data dodania, typ oferty) oraz takie mniej ważne (ilosc pieter, rozmiar dzialki, czy jest garaz, czy jest piwnica, czy jest ogrodzony). Wyszukiwanie zasadniczo odbywa się po tych parametrach podstawowych ale czasem też i użytokwnik może szukać także po pozostałych parametrach.

I tutaj moje pytanie czy lepszym rozwiązaniem jest stworzenie jednej tabeli z wszystkimi tymi parametrami, czy może jednak dwie tabele gdzie w jednej będą parametry podstawowe a w drugiej te takie poboczne. A może jeszcze inne rozwiązanie i jak np. mamy pola typu boolean czyli np. czy jest garaz, czy jest piwnica, to zrobic to jako jedno pole w tabeli w stylu 1;0;1;1;0;1 i wyszukiwanie jako string.
patryczakowy
Napewno wyszukiwanie po stringu będzie mało efektywne. W przypadku jak często będą potrzebne wszystkie rekordy i będzie ich niewiele to lepiej trzymać w bazie jako jedna tabela. W przypadku dużej ilości i rekordów i zapytań które niepotrzebują wszystkich rekordów to lepiej trzymać je w osobnej tabeli oraz nałożyć odpowiednie indeksy - tak ja bym to rozwiązał może inni użytkownicy będą mieli inne zdanie.
Ewentualnie trzymać w bazie w postaci json lub xml a do wyszukiwania użyć sphinxa on efektywynie będzie przeszukiwał po obu typach.
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-2025 Invision Power Services, Inc.