1. COUNT(*) und COUNT(COL) COUNT(*) führt normalerweise einen Indexscan auf dem Primärschlüssel durch, was bei COUNT(COL) jedoch nicht unbedingt der Fall ist. Darüber hinaus zählt ersteres die Gesamtzahl aller übereinstimmenden Datensätze in der statistischen Tabelle, während letzteres die Anzahl aller übereinstimmenden COL-Datensätze in der Berechnungstabelle zählt. Es gibt Unterschiede. 1. SELECT COUNT(*) FROM tablename ist in jedem Fall die beste Wahl; 2. Versuchen Sie, Abfragen wie SELECT COUNT(*) FROMtablename WHERE COL = 'value'; zu reduzieren. 3. Verhindern Sie das Auftreten von SELECT COUNT(COL) FROM tablename WHERE COL2 ='value'. 2. COUNT(*) oder COUNT(id) Meinem Verständnis nach sollte es schneller sein, COUNT(id) zu verwenden, denn wenn meine ID ein automatisch inkrementierender Primärschlüssel ist, verbraucht die Berechnung ihrer Nummer offensichtlich weniger Ressourcen als die Berechnung der Anzahl aller Felder. Ich habe jedoch mehrere ähnliche Artikel zum Beschleunigen von MySQL-Abfragen gesehen, in denen empfohlen wird, SELECT COUNT(*) zu verwenden, anstatt den Primärschlüssel direkt zu zählen. Warum ist das so? Dies liegt anscheinend daran, dass die Tabelle, die die MyISAM-Engine verwendet, die Gesamtzahl der Einträge speichert. Wenn kein WHERE vorhanden ist oder das WHERE immer wahr ist (z. B. WHERE 1), kann COUNT (*) direkt die Gesamtzahl der Einträge zurückgeben. Darüber hinaus ist es offensichtlich, dass COUNT(*) nicht „alle Felder berechnen“ bedeutet. MySQL interpretiert * offensichtlich als „ein Datenelement“. Testdaten, einfacher Vergleich, keine weiteren Tests: #0.817-Abfragezeit für eine Million Datensätze, select count(*) from student; #0,789 – Abfragezeit für eine Million Datensätze, select count(id) from student; #1.011-Abfragezeit für eine Million Datensätze, select count(name) from student; #1.162-Abfragezeit für eine Million DatensätzeSELECT COUNT(*) FROM student WHERE namelike '%xiaoli%';#Standardmäßig wird der Primärschlüsselindex für die Abfrage verwendet, aber der Index wird ungültig, nachdem die Like-Bedingung hinzugefügt wurde Zusammenfassen Im Allgemeinen ist die Verwendung von COUNT(id) schneller. Hier ist ein einfacher Vergleich zu Ihrer Information. Das Obige ist der gesamte Inhalt dieses Artikels zur MySQL-Optimierungszusammenfassung – Gesamtzahl der Abfragen. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können sich auf Folgendes beziehen: MySQL-Optimierung mit Verknüpfungen anstelle von Unterabfragen, Beispielanalyse der Optimierung von MySQL-Unterabfragen und verschachtelten Abfragen, Beispiele für Fähigkeiten zur Optimierung der Effizienz von MySQL-Unterabfragen in Anweisungen usw. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank, Freunde, für die Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: js implementiert einen einzigen Klick zum Ändern der Tabelle
>>: So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker
<br />Mein vorheriger Artikel über CSS wurde...
In diesem Artikel wird der spezifische Code für J...
Verstehen Sie zunächst die Funktion updatexml() U...
Verwenden Sie zum Crawlen von Daten die browserba...
Szenario 1: HTML: <div Klasse="äußere&quo...
1. Erstellen Sie zunächst den entsprechenden Ordn...
Ich habe vor, die internen Dokumente des Unterneh...
Versatz Offset ist der Offset. Mithilfe der Offse...
Remote-SSH installieren und konfigurieren Öffnen ...
In SQL wird GROUP BY verwendet, um Daten in den E...
Als ich mich kürzlich lokal unter Linux anmeldete...
Bei der Behebung von Systemproblemen, Anwendungsv...
Erklärung auf der offiziellen Website: Wenn eine ...
In diesem Artikel wird der spezifische JavaScript...
1. Qualitative Änderungen durch CSS-Variablen Die...