Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 15920|Odpoveď: 1

[Zdroj] Nepochopenie count(0) a count(*) v SQL príkazoch

[Kopírovať odkaz]
Zverejnené 10. 8. 2017 13:29:00 | | |
V poslednej dobe sa často používa číselná funkcia a keď je počítané číslo relatívne veľké, zistí, že počítanie(*) trvá dlhšie a počítanie(1) kratšie.

Niektoré dokumenty obsahujú nasledujúce tvrdenia:

Ak vaša dátová tabuľka nemá primárny kľúč, count(1) je rýchlejší ako count(*).  
Ak existuje primárny kľúč, potom primárny kľúč (spoločný primárny kľúč) je tiež rýchlejší ako count(*).  
Ak má vaša tabuľka len jedno pole, count(*) je najrýchlejší  
count(*) count(1) Porovnajte oba. Hlavné je počítať dátové polia zodpovedajúce (1).  
Ak je count(1) polyindex, id, potom count(1) musí byť rýchlejší. Ale rozdiel je veľmi malý.  
Pretože count(*) je pole automaticky optimalizované na špecifikáciu do. Takže nie je potrebné počítať(?), používať count(*), SQL vám pomôže dokončiť optimalizáciu

  Podrobnosti o počte:
count(*) vráti celkový počet všetkých riadkov prítomných v tabuľke, vrátane riadkov s hodnotou null,Avšak count (názov stĺpca) vráti celkový počet všetkých riadkov v tabuľke okrem null(Počítajú sa aj stĺpce s predvolenými hodnotami).
odlišný názov stĺpca, výsledok bude výsledkom po odstránení nulovej hodnoty a duplicitných dát


V minulosti som nevedel, že blog uvádza, že všetkým odporúčajú používať count(0) a že efektivita dotazov je relatívne vysoká, atď

Dnes sa zistilo, že používanie count(0) je mylná predstava!!
count(0) Prvý stĺpec štatistík nie je prázdny

Nepoužívajte číslo (názov stĺpca) alebo count(constant) namiesto count(*),

count(*) je syntax pre štandardný počet riadkov definovaný v SQL92, ktorý nemá nič spoločné s databázou, NULL ani non-NULL.

Poznámka: count(*) počíta riadky s hodnotou NULL, zatiaľ čo count(názov stĺpca) nepočíta riadky s hodnotou NULL.

Preto je v budúcnosti, keď robíte všetky štatistiky a nevylučujete prázdne dáta, lepšie úprimne použiť count (*)!!








Predchádzajúci:Rozdiel medzi definačnými premennými nech a var v js
Budúci:jquery implementuje tabuľku na zobrazenie až 10 dát
Zverejnené 10. 8. 2017 13:54:00 |
vyučoval                 
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com