Niin onkos sillä mitään merkitystä missä järjestyksessä where ehdot kirjoittaa?
Entäs liitoksissa, kannattaako isompaan tauluun liittää pieni taulu vai päinvastoin?
Vai onkos tietokannan optimoija niin viisas, ettei tuommosilla asioilla ole mitään merkitystä. Tietokantana lähinnä Mysli 4-5
No onhan tuolla where ehdoilla se, että jos laitat:
where id_oppilas = 2 or id_oppilas = 4
niin tuota neljää haetaan kakkosen jälkeen O_o Mutta eihän sillä nyt käytännössä (kai) ole mitään merkitystä. Ellei sitten käytä between lausetta, jolloin pienempi luku pitää laittaa ennen and:ia.
Liitoksissa nopeuden kannalta paras on liittää pieni taulu isoon.
Tokihan optimoija pyrkii tekemään parhaansa jotta kysely olisi mahdollisimman nopea, mutta varsinkin useiden taulujen liitoksissa moinen ei välttämättä onnistu. MySQL:ssä laittamalla kyselyn eteen EXPLAIN, näet optimoijan suunnitelman kyselyn suhteen. Jos tuntuu että liitokset voisi tehdä paremminkin (siinä järjestyksessä kun ne on FROM-lauseessa), laita SELECT:n jälkeen STRAIGHT JOIN. Jotta optimoija käyttäisi haluamaasi indeksiä, voit vihjata sitä käyttämällä FORCE INDEX -vihjettä FROM-lauseessa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.