Visa ett inlägg
Oläst 2007-09-02, 17:05 #4
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
Citat:
Originally posted by JLE@Sep 1 2007, 23:45
Har läst på lite om hur man skall gå till väga för att göra fulltext sökningar i massor av data och då rekommenderas att man använder sig av en såkallad "common words" lista för att filtrera bort ointressanta ord. Är det någon som har en sådan för svenska?


För annat onödigt vetande så kan jag berätta hur glad jag blev när jag felsökte varför vissa förfrågningar mot MySQL tog 0.5-7 sec att göra och efter lusläsning av diverse optimiseringstips i böcker för MySQL så hittade jag felet:

Kod:
mysql> SELECT id FROM feeds WHERE hash=-986428719 AND url='http://sdfsdsdf.fsdf.se/1187633754_vr_sk.html';
+--------+
| id * * |
+--------+
| 201583 |
+--------+
1 row in set (0.67 sec)

mysql> SELECT id FROM feeds WHERE hash='-986428719' AND url='http://sdfsdsdf.fsdf.se/1187633754_vr_sk.htmll';
+--------+
| id * * |
+--------+
| 201583 |
+--------+
1 row in set (0.00 sec)
Ser ni differansen i tid det tar att göra förfrågan?

Till detta hör att hash är varchar och att Python/MySQLdb som skapar queryn tror att det jag skickar in är integers så mysql måste göra en typomvanlding vilket tar tid.
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?

Kod:
SELECT SQL_NO_CACHE id FROM feeds WHERE hash=-986428719 AND url='http://sdfsdsdf.fsdf.se/1187633754_vr_sk.html';

Respektive

SELECT SQL_NO_CACHE id FROM feeds WHERE hash='-986428719' AND url='http://sdfsdsdf.fsdf.se/1187633754_vr_sk.htmll';
fors är inte uppkopplad   Svara med citatSvara med citat