Citat:
Ursprungligen postat av fors
Citat:
Originally posted by -JLE@Sep 14 2007, 11:20
Citat:
Ursprungligen postat av fors
Att den andra frågan går fortare beror antagligen på Query-cachen.
Testa med att lägga till SQL_NO_CACHE så används inte query-cachen, utan varje sökning går verkligen in i databasen och söker. Antagligen kommer båda frågorna ta ungefär lika lång tid. Hur stor är tabellen förresten och använder du dina index korrekt?
|
mysql SELECT SQL_NO_CACHE id FROM feeds WHERE hash=-986428719 AND url=http://sdfsdsdf.fsdf.se/1187633754_vr_sk.htmll;
Empty set (0.00 sec)
mysql SELECT SQL_NO_CACHE id FROM feeds WHERE hash=-986428719 AND url=http://sdfsdsdf.fsdf.se/1187633754_vr_sk.htmll;
Empty set (0.23 sec)
Det _är_ typomvandlingen som tar tid.
|
Okej. Det verkar väldigt konstigt att en typomvandling tar 0,23 sekunder. Det verkar snarare som att det är en bugg i MySQL! Det är jobbigt att felsöka när man skall felsöka där man inte borde felsöka. Jag testade lite snabbt själv (dock bara med ett fåtal rader i tabellen) och båda frågorna tog lika lång tid (0,00 sekunder).
|
Enligt boken "MySQL - The definitive guide to using, programming.. osv" så står det på sidan 309:
"Avoid overuse of MySQL's automatic type conversion. MySQl will perform automatic type conversion, but if you can avoid conversions, you may get better performance"
Står även att indexet kan helt uteslutas om mysql måste göra en typkonvertering.