On kolme taulua:
nimet (id, nimi)
kaupungit (id, kaupunki)
osoitteet (id, nimi_id, osoite, kaupunki_id)
Nyt pitäisi tehdä indeksit jotta tekstihaku nimen tai osoitteen perusteella olisi mahdollisimman optimoitu.
Eli valitan kaupunki ja hakukenttään kirjoitetaan joko henkilön nimi (tai sen osa) tai sitten osoite (tai sen osa) ja järjestelmän pitäisi palauttaa kaikkien henkilöiden nimet ja osoitteet.
nimet (id, nimi)
kaupungit (id, kaupunki)
osoitteet (id, nimi_id, osoite, kaupunki_id)
Nyt pitäisi tehdä indeksit jotta tekstihaku nimen tai osoitteen perusteella olisi mahdollisimman optimoitu.
Eli valitan kaupunki ja hakukenttään kirjoitetaan joko henkilön nimi (tai sen osa) tai sitten osoite (tai sen osa) ja järjestelmän pitäisi palauttaa kaikkien henkilöiden nimet ja osoitteet.
Vastaukset 1
Vanhimmat
Indeksoi kaikki ja vielä niin, että mistä haet tietoa tulee ensimmäiseksi muuten välttämättä indeksiä ei käytetä.
Ja kun kannasta et mitään maininnu http://dev.mysql.com/doc/refman/5.0/en/explain.html muilla on myös vastaavia joista näkee miten indeksit toimii. Periaatteessa mitä vähempiin riveihin kohdistuu sen parempa.
Ja periaatteessa taulut voivat olla nopeempia ilman indeksiä riippuu mimmoista tietoa siel on, joskin silti melkein aina indeksejä kannattaa käyttää.