WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   mysql problem (https://www.wn.se/forum/showthread.php?t=4973)

grazzy 2004-12-15 18:59

Citat:

Ursprungligen postat av Robert
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.

Robert 2004-12-15 19:19

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... =)

grazzy 2004-12-15 20:15

Det stämmer rimligen eftersom man anger längden på indexet.

Robert 2004-12-15 20:44

Citat:

Originally posted by grazzy@Dec 15 2004, 21:15
Det stämmer rimligen eftersom man anger längden på indexet.
...men inte då du har ett % framför söksträngen :rolleyes:

zoran 2004-12-16 00:05

Citat:

Originally posted by taddis@Dec 15 2004, 16:06
Ett tips är att börja med att normalisera din databas.
Googlade en snabbis o hittade detta:

http://www.gslis.utexas.edu/~l384k11w/normstep.html

Om man nu ska läsa något om databaser så vill jag rekomendera den överlägsna och mycket kompetenta kursen av Thomas Padron McCarthy på:

http://www.ida.liu.se/~tompa/databaser/


/Zoran

taddis 2004-12-16 10:27

Citat:

Ursprungligen postat av zoran
Citat:

Ursprungligen postat av taddis
Ett tips är att börja med att normalisera din databas.
Googlade en snabbis o hittade detta:

http://www.gslis.utexas.edu/~l384k11w/normstep.html

Om man nu ska läsa något om databaser så vill jag rekomendera den överlägsna och mycket kompetenta kursen av Thomas Padron McCarthy på:

http://www.ida.liu.se/~tompa/databaser/


/Zoran

Den sidan var bättre ja. Skoj att du nämnar just Thomas Padron McCarthy då jag faktiskt hade honom i mina databaskurser. Du också?

zoran 2004-12-17 00:33

Citat:

Ursprungligen postat av taddis
Citat:

Originally posted by -zoran@Dec 16 2004, 01:05
Citat:

Ursprungligen postat av taddis
Ett tips är att börja med att normalisera din databas.
Googlade en snabbis o hittade detta:

http://www.gslis.utexas.edu/~l384k11w/normstep.html

Om man nu ska läsa något om databaser så vill jag rekomendera den överlägsna och mycket kompetenta kursen av Thomas Padron McCarthy på:

http://www.ida.liu.se/~tompa/databaser/


/Zoran


Den sidan var bättre ja. Skoj att du nämnar just Thomas Padron McCarthy då jag faktiskt hade honom i mina databaskurser. Du också?

Nej, tyvärr har jag inte haft det privilegiet ännu. Däremot känner jag honom från LysKOM.

/Zoran


Alla tider är GMT +2. Klockan är nu 16:19.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson