Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Indexy w bazie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
kłulik
Witam. Mam dwie tabele:

tabela 'pisarze':

id|imie|nazwisko|urodzony|biografia

tabela 'ksiazki':

id|id_autora|tytul|data_wydania|jezyk|recenzja

Moje pytanie brzmi:
jak najlepiej poustawiać indexy na konkretne pola, żeby wyszukiwanie było najszybsze:

Wyszukiwanie:
1. konkretnego pisarza
2. w boigrafi
3. wszystkich ksiażek jednego pisarza
4. w recenzji książki
aleksander
z tego co się orientuję, powinienyś ustawić indexy na tych kolumnach, które są w klauzuli WHERE
kłulik
No dobra, ale jakie indexy na jakie pola?
W tej chwili mam tylko indexy PRIMARY na pola id.
popbart
Na "klucz obcy" (cudzysłów celowo użyty) id_autora daj zwykły INDEX(),
a na pola tekstowe, które będą w WHERE, daj FULLTEXT.
Tak przynajmniej zrozumiałem z How MySQL Uses Indexes i ztąd create index
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.