Citat:
zgas:
Resenje je:
Da se za svaki upit naprave kompozitni (grupni indeksi) kolona koje se koriste u WHERE izrazima.
da ali ne :)
racunaj da ako na primer imas index (a,b,c,d) index koji bi bio (a,b,c) je visak posto ga (a,b,c,d) pokriva ... dakle (a,b,c,d) pokricva (a), (a,b), (a,b,c) i (a,b,c,d) a u nekim slucajevima pokriva i (a,c), (a,c,d) na primer ali ne uvek
Citat:
I drugo pitanje posto sam laik u indeksiranju, da li indeksi ubrzavaju GROUP BY, ORDER BY i sl. ako se ovim naredbama pozivaju indeks kolone
[/quote]
da ali ne uvek ... tj. prilicno je razlicita upotreba indexa za group by i za order by, za group by ce se koristiti index ako postoji za order by ce se koristiti u zavisnosti od statistike posto je nekada brze rezultat sortirati bez koristenja indexa ..
kao sto vidis ne postoji "finalni odgovor", posebno sto optimizer dosta "pogadja" i vrlo cesto mu se desi da promasi kao i zato sto mysql sam po sebi ume da koristi za jedan upit samo jedan kljuc (i kada koristi vise njih opet koristi jedan samo ga izgenerise od tih drugih ... to je merge key, intersection key etc.. )
sve u svemu - ako hoces malo dublje da udjes u materiju procitaj sadrzaj sa tri linka iz prethodna dva posta .. imas tamo na perinom blogu super primere kako se ponasa optimizer na jednostavnom primeru