Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 15920|Svare: 1

[Kilde] Misforståelse av count(0) og count(*) i SQL-setninger

[Kopier lenke]
Publisert på 10.08.2017 13:29:00 | | |
Nylig har tallfunksjonen blitt brukt mye, og når tallet som skal telles er relativt stort, viser det seg at tell(*) tar lengre tid, og telling(1) tar kortere tid.

Noen dokumenter har følgende uttalelser:

Hvis datatabellen din ikke har en primærnøkkel, er count(1) raskere enn count(*).  
Hvis det finnes en primærnøkkel, er primærnøkkelen (felles primærnøkkel) også raskere enn tell(*).  
Hvis tabellen din bare har ett felt, er tell(*) raskest  
tell(*) tell(1) Sammenlign de to. Det viktigste er å telle datafeltene som tilsvarer (1).  
Hvis telling(1) er en polyindeks, id, må den være telling(1) raskere. Men forskjellen er veldig liten.  
Fordi tell(*), blir feltet automatisk optimalisert for å spesifisere til. Så det er ikke nødvendig å telle(?), bruk tell(*), SQL vil hjelpe deg å fullføre optimaliseringen

  Telledetaljer:
tell(*) vil returnere det totale antallet rader i tabellen, inkludert rader med nullverdi,Men antall (kolonnenavn) vil returnere totalt antall rader i tabellen unntatt null(Kolonner med standardverdier telles også).
Distinkt kolonnenavn, vil resultatet være resultatet etter at nullverdien og dupliserte data er fjernet


Tidligere visste jeg ikke at bloggen sa at alle ble anbefalt å bruke count(0) og at spørringseffektiviteten var relativt høy, osv

I dag viser det seg at bruk av telling(0) er en misforståelse!!
count(0) Den første kolonnen i statistikken er ikke tom

Ikke bruk tall (kolonnenavn) eller telling (konstant) i stedet for tell(*),

count(*) er syntaksen for det standard antallet rader definert av SQL92, som ikke har noe med databasen, NULL og ikke-NULL å gjøre.

Merk: tell(*) teller rader med NULL-verdi, mens telling (kolonnenavn) ikke teller rader med NULL-verdi.

Derfor, når du i fremtiden gjør alle statistikkene og ikke utelukker tomme data, er det bedre å ærlig bruke telling (*)!!








Foregående:Forskjellen mellom let og var-definisjonsvariabler i js
Neste:jquery implementerer tabell for å vise opptil 10 databiter
Publisert på 10.08.2017 13:54:00 |
undervist                 
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com