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 (*)!!
|