![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował wujek2009 9.06.2013, 20:45:09 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Nadmiar indeksów będzie konsekwencją chyba tylko przy UPDATE i INSERT, bo wtedy są uaktualniane indexy. Przy odczycie raczej, nadmiar indexów może tylko pomóc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 17:09 |