Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 15920|Antwort: 1

[Quelle] Missverständnis von count(0) und count(*) in SQL-Anweisungen

[Link kopieren]
Veröffentlicht am 10.08.2017 13:29:00 | | |
In letzter Zeit wurde die Zahlenfunktion häufig verwendet, und wenn die zu zählende Zahl relativ groß ist, stellt sich heraus, dass Zählen(*) mehr Zeit benötigt und Zählung(1) weniger Zeit.

Einige Dokumente enthalten folgende Aussagen:

Wenn Ihre Datentabelle keinen Primärschlüssel hat, ist Count(1) schneller als Count(*).  
Wenn es einen Primärschlüssel gibt, dann ist der Primärschlüssel (gemeinsamer Primärschlüssel) ebenfalls schneller als Zahl(*).  
Wenn deine Tabelle nur ein Feld hat, dann ist Count(*) das schnellste  
Zählen(*) zählen(1) Vergleichen Sie die beiden. Das Wichtigste ist, die Datenfelder zu zählen, die zu (1) gehören.  
Wenn Count(1) ein Polyindex ist, id, dann muss er count(1) schneller sein. Aber der Unterschied ist sehr gering.  
Da count(*) gilt, wird das Feld automatisch optimiert, um zu definieren. Es ist also nicht nötig zu zählen(?), benutze count(*), SQL hilft dir, die Optimierung abzuschließen

  Zähldetails:
count(*) wird die Gesamtzahl aller in der Tabelle vorhandenen Zeilen zurückgeben, einschließlich Zeilen mit dem Wert null,Allerdings gibt die Anzahl (Spaltenname) die Gesamtzahl aller Zeilen in der Tabelle zurück, außer null(Spalten mit Standardwerten werden ebenfalls gezählt).
mit unterschiedlichem Spaltennamen wird das Ergebnis nach Entfernen des Nullwerts und der doppelten Daten sein


Früher wusste ich nicht, dass im Blog steht, dass jedem empfohlen wird, count(0) zu verwenden, und dass die Abfrageeffizienz relativ hoch ist usw

Heute stellt sich heraus, dass die Verwendung von Count(0) ein Missverständnis ist!!
count(0) Die erste Spalte der Statistik ist nicht leer

Verwenden Sie nicht Zahl (Spaltenname) oder Anzahl (Konstante) statt Zahl(*),

count(*) ist die Syntax für die Standardanzahl der Zeilen, die von SQL92 definiert ist, was nichts mit der Datenbank NULL und nicht-NULL zu tun hat.

Hinweis: Count(*) zählt Zeilen mit einem NULL-Wert, während count(Spaltenname) keine Zeilen mit NULL-Wert zählt.

Daher ist es in Zukunft, wenn man alle Statistiken erstellt und leere Daten nicht ausschließt, besser, ehrlich Zählen (*) zu verwenden!!








Vorhergehend:Die Differenz zwischen let- und var-Definitionsvariablen in js
Nächster:jquery implementiert eine Tabelle, um bis zu 10 Datenstücke anzuzeigen
Veröffentlicht am 10.08.2017 13:54:00 |
unterrichtet                 
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com