Jos tietokannasta haluaa hakea osan merkkijonosta ja merkkijonon alkuosa, niin pitääkö tehdä kaksi indeksia, tavallinen ja full text?
Esim jos haluan löytää vaikka kaikki merkkijonot joissa on %talo% pitäisi olla full text indeksi, mutta jos on tarvetta löytää kaikki merkkijonot, jotka alkavat kirjaimilla uus% pitäisi olla myös tavallinen indeksi?
Esim jos haluan löytää vaikka kaikki merkkijonot joissa on %talo% pitäisi olla full text indeksi, mutta jos on tarvetta löytää kaikki merkkijonot, jotka alkavat kirjaimilla uus% pitäisi olla myös tavallinen indeksi?
Vastaukset 1
Vanhimmat
"Jos tietokannasta haluaa hakea osan merkkijonosta ja merkkijonon alkuosa, niin pitääkö tehdä kaksi indeksia, tavallinen ja full text?"
Ei toki. Full text on tarkoitettu useista soluista hakuun, yhdelle sitä ei edes pysty tekee, esim jos on otsikko | uutinen niin silloin full textin avulla on helppo hakea otsikosta ja itse uutisesta, samoin järjestää hakutulokset paremmuusjärjestykseen jne...
Katso http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Ja aina kun tehdään LIKE %talo% tai vastaavia, niin silloin indeksejä ei yleensä pystytä käyttämään. Katso http://dev.mysql.com/doc/refman/5.0/en/explain.html tuon avulla näät miten MySQL indeksejä käyttää ja kannattaa kokeilla erilaisia indeksejä. Taulurakenne, kyselyt ja datan lisäys/kysely tiheys ratkaisevat paljolti millaisia indeksejä kannattaa käyttää. Vääränlaisella indeksoinnilla saatetaan hidastaa.
Mikäli asia enempi kiinostaa niin lukases Tietokantojen suunnittelu & indeksointi ISBN: 951-846-262-3