Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 15920|Odpověď: 1

[Zdroj] Nedorozumění count(0) a count(*) v SQL příkazech

[Kopírovat odkaz]
Zveřejněno 10.08.2017 13:29:00 | | |
V poslední době se funkce čísla často používá a když je číslo, které má být spočítano, relativně velké, zjistí se, že počítaní(*) trvá déle a počítání(1) kratší.

Některé dokumenty obsahují následující tvrzení:

Pokud vaše datová tabulka nemá primární klíč, pak count(1) je rychlejší než count(*).  
Pokud existuje primární klíč, pak je primární klíč (společný primární klíč) také rychlejší než count(*).  
Pokud má vaše tabulka jen jedno pole, pak count(*) je nejrychlejší  
count(*) count(1) Porovnejte obě možnosti. Hlavní je spočítat datová pole odpovídající (1).  
Pokud count(1) je polyindex, id, pak musí count(1) být rychlejší. Ale rozdíl je velmi malý.  
Protože count(*) je pole automaticky optimalizováno pro specifikaci . Takže není potřeba počítat(?), používat count(*), SQL vám pomůže dokončit optimalizaci

  Podrobnosti o počtu:
count(*) vrátí celkový počet všech řádků přítomných v tabulce, včetně řádků s hodnotou null,Nicméně count (název sloupce) vrátí celkový počet všech řádků v tabulce kromě null(Počítají se také sloupce s výchozími hodnotami).
odlišný název sloupce, výsledek bude výsledkem po odstranění nulové hodnoty a duplicitních dat.


V minulosti jsem nevěděl, že blog uvádí, že všem doporučuje používat count(0) a že efektivita dotazů je relativně vysoká atd

Dnes se zjistilo, že používání count(0) je mylná představa!!
count(0) První sloupec statistik není prázdný

Nepoužívejte místo count(*) číslo (název sloupce) nebo count(constant),

count(*) je syntaxe pro standardní počet řádků definovaný SQL92, který nemá nic společného s databází, NULL a non-NULL.

Poznámka: count(*) počítá řádky s hodnotou NULL, zatímco count(název sloupce) nepočítá řádky s hodnotou NULL.

Proto je v budoucnu, když budete dělat všechny statistiky a nevylučovat prázdná data, upřímně použít počet (*)!!








Předchozí:Rozdíl mezi definujícími proměnnými nech a var v js
Další:jquery implementuje tabulku pro zobrazení až 10 datových částí
Zveřejněno 10.08.2017 13:54:00 |
Učil                 
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com