Ämne: mysql problem
Visa ett inlägg
Oläst 2004-12-15, 19:19 #22
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Ursprungligen postat av grazzy
Citat:
Originally posted by -Robert@Dec 15 2004, 14:08
Citat:
Ursprungligen postat av grazzy
uhh.. index gör väl nytta med like??
exempel "LIKE '%apa%' " tvingar ju db'n att lik förbenat snurra igenom allt data i kolumnen, oavsett om en index har förberett kolumnen i sorterad ordning etc.

Mjaa..

http://dev.mysql.com/doc/mysql/en/CREATE_INDEX.html

Citat:

Because most names usually differ in the first 10 characters, this index should not be much slower than an index created from the entire name column. Also, using partial columns for indexes can make the index file much smaller, which could save a lot of disk space and might also speed up INSERT operations!
Det där tolkar jag som att det gör nytta att indexera även textfält, det är klart att det aldrig blir lika effektivt som med en integer. Jag skulle tippa på att dom gör om indextexten till ett hashvärde som sedan lagras i en hashtabell.

Tex:
Kod:
hash_value *pekare_till_värde
123 * * * * * * * 1,2,3
321 * * * * * * * 4,5,6
När då tex värdena i 1,2,3 får hashvärdet "123" och värdena i 4,5,6 får hashvärdet "321", det är då mycket snabbare att söka i detta index än att söka i hela tabellen.
Jupp, men en LIKE med texten inuti den sökbara datan kan ju inte få ett hashvärde...det finns liksom inget att gå efter. Söker man efter %apa% i data som ser ut som "min fina apa Gustav" så spelar indexeringen ingen roll...såtillvida inte alla tänkbara kombinationer av av datat är indexerat (hemska tanke). Så har jag fått lära mig iaf... =)
Robert är inte uppkopplad   Svara med citatSvara med citat