2016-11-25 5 views
0

ich eine Mysql-Abfrage habe:Wie die Leistung der Mysql-Abfrage zu verbessern

select stu_photo, type, sign, type1, fname,regno1 
from stadm 
where regno1 = XXXXXX 
LIMIT 1000; 

stadm Tabelle hat 67.063 Zeilen. Der Ausführungszeitraum der obigen Abfrage beträgt 5-6 Minuten. sind nicht in der Lage Index für stu_photo hinzufügen und melden Spalt (es Datentyp Blob & LONGBLOB) Table_Enginee InnoDB ist. Wie kann ich die Leistung erhöhen (d. H. Um den Ausführungszeitraum zu verkürzen)?

Antwort

0

Eine Verbesserung kann ich sehen, für Ihre Anfrage würde einen Index für die regno1 Spalte hinzuzufügen. Dies würde möglicherweise die WHERE-Klausel beschleunigen.

Uhr nicht in der Lage Index für stu_photo hinzufügen und Spalte unterzeichnen

Diese Spalten sollten nicht die Leistung der Abfrage Sie zeigte uns auswirken.

Ein weiterer Faktor, der die Leistung der Abfrage beeinflusst, ist die Zeit, die das Ergebnis zurück an die Konsole oder Anwendung festgelegt zu senden. Wenn jeder Datensatz sehr groß ist, können die Dinge selbst für nur 1000 Datensätze langsam erscheinen.

0

eine neue Spalte md5_regno1 vom Typ varchar erstellen und die md5 von regno1 darin speichern. dann können Sie einen Index für die neue Spalte Suche wie folgt erstellen:

select stu_photo, type, sign, type1, fname,regno1 
from stadm 
where md5_regno1 = MD%('XXXXXX') 
LIMIT 1000; 
Verwandte Themen