Umsetzungseffekt: 1. count(1) und count(*) Wenn die Datenmenge in der Tabelle groß ist, dauert die Verwendung von count(1) nach der Analyse der Tabelle länger als die Verwendung von count(*)! Aus dem Ausführungsplan haben count(1) und count(*) dieselbe Wirkung. Nach der Analyse der Tabelle benötigt count(1) zwar weniger Zeit als count(*) (für Daten mit bis zu 10.000 Elementen), der Unterschied ist jedoch nicht groß. Wenn count(1) ein gruppierter Index bzw. eine ID ist, dann ist count(1) definitiv schneller. Aber der Unterschied ist sehr gering. Weil count(*) automatisch auf dieses Feld optimiert. Daher ist count(1) nicht erforderlich. Verwenden Sie count(*). SQL hilft Ihnen bei der Optimierung. Daher: Es gibt grundsätzlich keinen Unterschied zwischen count(1) und count(*)! 2. count(1) und count(Feld) Der Hauptunterschied zwischen beiden ist (1) count(1) zählt die Anzahl aller Datensätze in der Tabelle, einschließlich der Datensätze, deren Felder Null sind. (2) count(field) zählt, wie oft das Feld in der Tabelle vorkommt. Dabei wird der Fall ignoriert, in dem das Feld null ist. Das heißt, Datensätze, deren Felder Null sind, werden nicht gezählt. Der Unterschied zwischen count(*) und count(1) und count(Spaltenname) Ausführungseffekt: count(*) umfasst alle Spalten, was der Anzahl der Zeilen entspricht. Beim Zählen der Ergebnisse werden Spaltenwerte mit NULL-Werten nicht ignoriert. Ausführungseffizienz: Beispielanalyse mysql> Tabelle erstellen counttest(Name char(1), Alter char(2)); Abfrage OK, 0 Zeilen betroffen (0,03 Sek.) mysql> in Counttest-Werte einfügen -> ('a', '14'),('a', '15'), ('a', '15'), -> ('b', NULL), ('b', '16'), -> ('c', '17'), -> ('d', null), ->('e', ''); Abfrage OK, 8 Zeilen betroffen (0,01 Sek.) Datensätze: 8 Duplikate: 0 Warnungen: 0 mysql> wähle * aus Counttest; +------+------+ | Name | Alter | +------+------+ | ein | 14 | | ein | 15 | | ein | 15 | | b | NULL | | b | 16 | | c | 17 | | d | NULL | | e | | +------+------+ 8 Zeilen im Satz (0,00 Sek.) mysql> wähle Name, Anzahl(Name), Anzahl(1), Anzahl(*), Anzahl(Alter), Anzahl(eindeutig(Alter)) -> von Counttest -> nach Namen gruppieren; +------+----------+----------+----------+----------+------------+----------------------+ | Name | Anzahl(Name) | Anzahl(1) | Anzahl(*) | Anzahl(Alter) | Anzahl(distinct(Alter)) | +------+----------+----------+----------+----------+------------+----------------------+ | ein | 3 | 3 | 3 | 3 | 2 | | b | 2 | 2 | 2 | 1 | 1 | | c | 1 | 1 | 1 | 1 | 1 | | d | 1 | 1 | 1 | 0 | 0 | | e | 1 | 1 | 1 | 1 | 1 | +------+----------+----------+----------+----------+------------+----------------------+ 5 Zeilen im Satz (0,00 Sek.) Zusätzliche Referenz: http://blog.csdn.net/lihuarongaini/article/details/68485838 Damit ist dieser Artikel über die Unterschiede zwischen count(1), count(*) und count(Spaltenname) abgeschlossen. Weitere Informationen zu count(1), count(*) und count(Spaltenname) finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So kapseln Sie Timerkomponenten in Vue3
Dieser Artikel stellt den CSS-Bildlaufleistensele...
Inhaltsverzeichnis 0. Was ist Webpack 1. Einsatz ...
Bevor wir weiter analysieren, warum der MySQL-Dat...
Inhaltsverzeichnis Zweck npm init und package.jso...
In diesem Artikel werden hauptsächlich die Proble...
Nach dem Start initialisiert der Worker-Prozess z...
Ich glaube, jeder hat JD verwendet. Auf der Homep...
Die Befehlszeile mysqld –skip-grant-tables kann i...
Lese- und Schreibvorgänge bei Angular Cookies, de...
1. Zusammenfassung: Im Allgemeinen können sie in ...
Angenommen, ein Knoten im Drei-Knoten-MGR ist abn...
Methode 1: Skriptmethode verwenden: Erstellen Sie...
Installation von Python 3 1. Abhängige Umgebung i...
Inhaltsverzeichnis Vorwort Text 1. Abschluss 1.1 ...
<br />Wir haben in unseren Artikeln bei jb51...