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
1 Rufen Sie die Alibaba Cloud-Konsole auf, suchen...
Genau wie der Titel! Die allgemein verwendete Schr...
1. Nginx-Dienstgrundlage Nginx (Engine x) wurde s...
Das Datenträgerkontingent ist die Speichergrenze ...
Inhaltsverzeichnis 1. Planaufgaben anpassen 2. Ze...
1. Deinstallieren Sie in der Systemsteuerung alle...
In diesem Artikel wird kurz beschrieben, wie Sie ...
Wirkung html <Text> <div Klasse="In...
Die allgemeine Schreibweise ist wie folgt: XML/HT...
Heute habe ich gelernt, MySQL zu installieren. Da...
Über Win Docker-Desktop möchte ich mich mit der C...
Vorwort Dieser Artikel stellt hauptsächlich den r...
Inhaltsverzeichnis 1. Tool-Einführung 2. Arbeitsa...
Inhaltsverzeichnis 1. Installieren Sie den Vue-Vi...
Vorwort Ich bin bei der Arbeit auf folgende Situa...