Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 15920|Svar: 1

[Källa] Missförstånd av count(0) och count(*) i SQL-satser

[Kopiera länk]
Publicerad på 2017-08-10 13:29:00 | | |
På senare tid har talfunktionen använts mycket, och när antalet som ska räknas är relativt stort visar man att räkning(*) tar längre tid och räkning(1) tar mindre tid.

Vissa dokument innehåller följande påståenden:

Om din datatabell inte har en primärnyckel, är count(1) snabbare än count(*).  
Om det finns en primärnyckel, är primärnyckeln (gemensam primärnyckel) också snabbare än räkningen(*).  
Om din tabell bara har ett fält är räkna(*) snabbast  
räkna(*) räkna(1) Jämför de två. Det viktigaste är att räkna datafälten som motsvarar (1).  
Om count(1) är ett polyindex, id, måste det vara count(1) snabbare. Men skillnaden är mycket liten.  
Eftersom count(*) optimeras fältet automatiskt för att specificera to. Så det finns inget behov av att räkna(?), använd räkna(*), SQL hjälper dig att slutföra optimeringen

  Antal detaljer:
räkning(*) kommer att returnera det totala antalet rader i tabellen, inklusive rader med värdet null,Dock kommer räkningen (kolumnnamnet) att returnera det totala antalet rader i tabellen utom null(Kolumner med standardvärden räknas också).
Distinkt kolumnnamn, resultatet blir resultatet efter att nollvärdet och dubblettdata tagits bort


Tidigare visste jag inte att bloggen sa att alla rekommenderades att använda count(0) och att sökfunktionen var relativt hög, osv

Idag visar man sig att användningen av count(0) är en missuppfattning!!
count(0) Den första kolumnen i statistiken är inte tom

Använd inte nummer (kolumnnamn) eller räkning (konstant) istället för räkning(*),

count(*) är syntaxen för det standardantal rader som definieras av SQL92, vilket inte har något att göra med databasen, NULL och icke-NULL.

Observera: räkning(*) räknar rader med ett NULL-värde, medan räkningen (kolumnnamnet) inte räknar rader med ett NULL-värde.

Därför, när du i framtiden gör all statistik och inte utesluter tomma data, är det bättre att ärligt använda räkning (*)!!








Föregående:Skillnaden mellan let och var-definitionsvariabler i js
Nästa:jquery implementerar tabellen för att visa upp till 10 datastycken
Publicerad på 2017-08-10 13:54:00 |
undervisade                 
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com