sql >> Databáze >  >> RDS >> Sqlserver

NASTAVIT ZAPOČET NA použití

Dobře, teď jsem provedl průzkum, tady je dohoda:

V protokolu TDS SET NOCOUNT ON ušetří pouze 9 bajtů na dotaz, zatímco samotný text „SET NOCOUNT ON“ má neuvěřitelných 14 bajtů. Dříve jsem si myslel, že 123 row(s) affected byl vrácen ze serveru jako prostý text v samostatném síťovém paketu, ale není tomu tak. Je to ve skutečnosti malá struktura nazvaná DONE_IN_PROC vložené do odpovědi. Nejedná se o samostatný síťový paket, takže žádné zpáteční cesty nepřijdou nazmar.

Myslím, že se můžete téměř vždy držet výchozího chování počítání, aniž byste se museli starat o výkon. Existují však případy, kdy by výpočet počtu řádků předem ovlivnil výkon, jako je například kurzor pouze vpřed. V takovém případě může být nutností NOCOUNT. Kromě toho není absolutně nutné řídit se heslem „používejte NOCOUNT, kdekoli je to možné“.

Zde je velmi podrobná analýza nevýznamnosti SET NOCOUNT nastavení:http://daleburnett.com/2014/01/everything-ever-wanted-know-set-nocount/



  1. Hromadné vkládání nebo aktualizace pro tabulky s poli příloh

  2. SQL Server podmíněný tok

  3. Jak nainstalovat ArangoDB na Ubuntu 20.04

  4. Najít a nahradit celou databázi mysql