Cześć.
Jakie są konsekwencje nadmiaru indeksów dla tabeli w bazie MySQL? Tworzę wyszukiwarkę, w której dużo kolumn z tabeli będzie zaangażowanych. Staram się nadawać indeksy tylko na kolumny które łączą się w relacji bądź są najczęściej używane podczas wyszukiwania. Kolumny, które są również brane pod uwagę podczas wyszukiwania (ale jest mniejszy nacisk na nie) - już nie nakładam żadnego indeksu.
Jednak teraz zastanawiam się czy to nie był błąd z mojej strony - w tej chwili przy praktycznie pustej bazie zapytanie zwraca mi czas >= 0.0046 sek (wg. phpmyadmina) - nawet po kilka krotnym wklepaniu tego samego zapytania czas nie redukuje się. Przepuściłem zapytanie przez EXPLAIN i doradziło mi dodanie kilku dodatkowych indeksów, ale już mam 4/5 indeksów nałożonych przy tabeli składającej się z ponad 30 kolumnami.
Oraz dodatkowe pytanie, czy to normalnie, że PK nie jest uwzględniany jako indeks? EXPLAIN w kolumnie possible_keys zwraca mi właśnie komunikat o PRIMARY