Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 15920|Svar: 1

[Kilde] Misforståelse af count(0) og count(*) i SQL-sætninger

[Kopier link]
Opslået på 10/08/2017 13.29.00 | | |
For nylig er talfunktionen blevet brugt meget, og når det tal, der skal tælles, er relativt stort, viser det, at tælling(*) tager længere tid, og tælling(1) tager mindre tid.

Nogle dokumenter indeholder følgende udsagn:

Hvis din datatabel ikke har en primærnøgle, så er count(1) hurtigere end count(*).  
Hvis der findes en primærnøgle, er primærnøglen (fælles primærnøgle) også hurtigere end tælle(*).  
Hvis din tabel kun har ét felt, så er tælling(*) hurtigst  
tæl(*) tæl(1) Sammenlign de to. Det vigtigste er at tælle de datafelter, der svarer til (1).  
Hvis count(1) er en polyindeks, id, så må den være count(1) hurtigere. Men forskellen er meget lille.  
Fordi count(*), optimeres feltet automatisk til at specificere til. Så der er ikke behov for at tælle(?), brug tælle(*), SQL vil hjælpe dig med at fuldføre optimeringen

  Optællingsdetaljer:
count(*) vil returnere det samlede antal rækker i tabellen, inklusive rækker med værdien null,Dog vil count (kolonnenavn) returnere det samlede antal rækker i tabellen undtagen null(Kolonner med standardværdier tælles også).
Særskilt kolonnenavn, resultatet vil være resultatet efter fjernelse af nullværdien og duplikerede data


Tidligere vidste jeg ikke, at bloggen sagde, at alle blev anbefalet at bruge count(0), og at forespørgselseffektiviteten var relativt høj osv

I dag viser det sig, at brugen af count(0) er en misforståelse!!
count(0) Den første kolonne i statistikkerne er ikke tom

Brug ikke tal (kolonnenavn) eller count (konstant) i stedet for count(*),

count(*) er syntaksen for det standardantal rækker defineret af SQL92, som intet har at gøre med databasen, NULL og ikke-NULL.

Bemærk: tælling(*) tæller rækker med en NULL-værdi, mens tælling (kolonnenavn) ikke tæller rækker med en NULL-værdi.

Derfor er det i fremtiden, når du laver alle statistikkerne og ikke udelukker tomme data, bedre ærligt at bruge count (*)!!








Tidligere:Forskellen mellem let og var-definitionsvariabler i js
Næste:jquery implementerer en tabel til at vise op til 10 datastykker
Opslået på 10/08/2017 13.54.00 |
undervist                 
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com