Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 15920|Răspunde: 1

[Sursă] O neînțelegere a cuvintelor count(0) și count(*) în instrucțiunile SQL

[Copiază linkul]
Postat pe 10.08.2017 13:29:00 | | |
Recent, funcția numerică a fost folosită mult, iar când numărul de numărat este relativ mare, se constată că numărarea(*) durează mai mult, iar numărarea(1) durează mai puțin.

Unele documente conțin următoarele afirmații:

Dacă tabelul tău de date nu are o cheie primară, atunci count(1) este mai rapid decât count(*).  
Dacă există o cheie primară, atunci cheia primară (cheia primară a articulației) este de asemenea mai rapidă decât count(*).  
Dacă tabelul tău are un singur câmp, atunci count(*) este cel mai rapid  
numără(*) numără(1) Compară cele două. Principalul lucru este să numeri câmpurile de date corespunzătoare (1).  
Dacă count(1) este un polyindex, id, atunci trebuie să fie count(1) mai rapid. Dar diferența este foarte mică.  
Deoarece count(*), câmpul este optimizat automat pentru a specifica la. Deci nu este nevoie să numeri(?), să folosești numărarea(*), SQL te va ajuta să finalizezi optimizarea

  Detalii despre numărătoare:
count(*) va returna numărul total al tuturor rândurilor prezente în tabel, inclusiv rândurile cu valoarea nulă,Totuși, count (numele coloanei) va returna numărul total al tuturor rândurilor din tabel, cu excepția null(Coloanele cu valori implicite sunt de asemenea numărate).
nume distinct de coloană, rezultatul va fi rezultatul după eliminarea valorii nule și duplicata datelor


În trecut, nu știam că blogul spunea că toată lumea era recomandată să folosească count(0) și că eficiența interogărilor era relativ ridicată, etc

Astăzi, s-a constatat că folosirea numărului (0) este o concepție greșită!!
număr(0) Prima coloană a statisticii nu este goală

Nu folosiți number(numele coloanei) sau count(constant) în loc de count(*),

count(*) este sintaxa pentru numărul standard de rânduri definite de SQL92, care nu are nicio legătură cu baza de date, NULL și non-NULL.

Notă: count(*) numără rândurile cu valoare NULL, în timp ce count(numele coloanei) nu numără rândurile cu valoare NULL.

Prin urmare, pe viitor, când faci toate statisticile și nu excluzi datele goale, este mai bine să folosești sincer numărul (*)!!








Precedent:Diferența dintre variabilele de definiție let și var în js
Următor:jquery implementează un tabel pentru a afișa până la 10 bucăți de date
Postat pe 10.08.2017 13:54:00 |
Predau                 
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com