MySQL Volltextsuche und Mysql-Indizes

Image representing MySQL as depicted in CrunchBase

Vor einiger Zeit habe ich über MySQL Volltextsuche 🙂 heute hatte ich eine sehr interessante Erfahrung mit einer Anfrage. Im Allgemeinen sucht die Abfrage nach Ergebnissen, die in einer anderen Tabelle fehlen.. Eine einfache Select- und eine Unterauswahl im WHERE-Teil der Abfrage. Grundsätzlich ist das Skelett

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

Grundsätzlich ist eine einfache Abfrage. Ich schrieb es für 30 Sec. Ich lasse es fallen und die Maschine. Nach langem und geduldiges Warten auf mich oder in genau 43 Sek. . Meine spat partitur lol . PFFF Wahnsinn. Ich betrete die Maschine beobachten, dass der Prozessor normalerweise fast im Leerlauf-Zustand geladen wird. Schock und Schrecken. Ich führe die Abfrage erneut mit demselben Ergebnis aus.. Gebohrtes WTF. Ich führe die Erklärung der Anfrage und alles leuchtet – Das zweite zweiteTextField-Feld ist nur Volltextsuche Ohne Index, Und dort ist das Tablett bescheiden von ca. 35 k die Bestellung. Wer zu lesen – Volltextsuche ist kein Index. Ist jetzt klar das Problem ein Quickie

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

Und die Dinge kamen an die Orte, die Query 0.0005 SEC-😀

Seien Sie vorsichtig, wie Sie Ihre Indizes auf sie setzen hängt marginale Geschwindigkeit der Anwendung.

P. s insgesamt bin ich falsch über die oben genannte Situation nicht nur, weil der Index fehlt, weil es nicht die Volltext-Suchmethode verwendet 😀

Verbessert von Zemanta

Hinterlasse eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Anti-SPAM *