Post
#1
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Hejka,
aż wstyd się przyznać ale do tej pory nie zaprzątałem sobie tym głowy i robiłem indexy na pojedyczne kolumny. Chciałbym się jednak dowiedzieć czy jest sens robienia czegoś takiego: Mam tabelę, w której są pola np. - login varchar - haslo varchar - aktywny enum("0", "1") Indexy stawiałem dla każdego z pól osobno. Jednak najczęściej tworzę zapytanie, w którym nie wybieram rekordu po 1 warunku (np. WHERE login="nanana") tylko 3 na raz (WHERE login="nanana" AND haslo="ooo" AND aktywny="1"). Czy w takim przypadku nie powinienem utworzyć również indexu: INDEX (login, haslo, aktywny) ? Jeśli tak to to by oznaczalo, że należy tworzyć indexy na wszystkie kombinacje danych? Pozdrawiam: pion |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Cytat porównania oczywiście muszą być w tej samej kolejności, w jakiej tworzą indeks). Hmm - a to dlaczego? Przecież dla optymalizatora zapytań nie ma znaczenia kolejność warunków w WHERE Cytat W Twoim przypadku dałbym indeks złożony na kolumny: login, haslo, aktywny. A ja zrezygnowałbym z hasła zarówno w Index, jak i w zapytaniu. W indexie nie jest potrzebne, bo jak sądzę, masz bazę gdzie Login jest Unique, więc i tak nie pojawi się nigdy kombinacja gdzie będzie 1 login i wiele haseł, stąd też index na haśle nigdy nie będzie wykorzystany. A w zapytaniu unikałbym tego z względów czystego bezpieczeństwa - wiele zapytań jest logowanych, często wyświetlane są w trakcie debugowania, tak więc szkoda by było otwarcie wyświetlić tą informację. |
|
|
|
phpion.com Indexy - jak stosować? 16.12.2007, 13:05:34
JaRoPHP Cytat(phpion.com @ 16.12.2007, 13:05... 16.12.2007, 13:45:32 
phpion.com Cytat(JaRoPHP @ 16.12.2007, 15:45:32 ... 16.12.2007, 14:13:13
JaRoPHP Cytat(phpion.com @ 16.12.2007, 14:13... 16.12.2007, 21:13:38
phpion.com Ok, chyba zaczaiłem jak to działa. Dzięki jeszcze ... 16.12.2007, 21:23:44
JaRoPHP Cytat(DeyV @ 26.12.2007, 18:59:24 ) H... 26.12.2007, 21:49:09 ![]() ![]() |
|
Aktualny czas: 9.12.2025 - 04:13 |