Ich finde, dass eine Auswahlanzahl (*) erheblich länger dauert als select * für die Abfragen mit derselben Klausel wo .
Die fragliche Tabelle enthält etwa 2,2 Millionen Datensätze (nennen Sie sie detailtable ). Es hat ein Fremdschlüsselfeld, das mit einer anderen Tabelle verknüpft ist ( Haupttabelle ).
Diese Abfrage dauert etwa 10-15 Sekunden:
%Vor%Aber das dauert eine Sekunde oder weniger:
%Vor%UPDATE - Es wurde gebeten, die Anzahl der beteiligten Datensätze anzugeben. Es ist 150.
UPDATE 2 Hier finden Sie Informationen, wenn das Schlüsselwort EXPLAIN verwendet wird.
Für SELECT COUNT (*) wird in der Spalte EXTRA Folgendes angezeigt:
%Vor%KEY und POSSIBLE KEYS haben beide die Fremdschlüsseleinschränkung als Wert.
Für die SELECT * -Abfrage ist alles gleich, außer EXTRA sagt nur:
%Vor%UPDATE 3 Versucht OPTIMIZE TABLE und es macht immer noch keinen Unterschied.
Tags und Links mysql