Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

NIE USTAWIĆ NA UŻYTKOWANIE

Ok, teraz zrobiłem swoje badania, oto oferta:

W protokole TDS SET NOCOUNT ON oszczędza tylko 9 bajtów na zapytanie, podczas gdy sam tekst "SET NOCOUNT ON" ma aż 14 bajtów. Kiedyś myślałem, że wpłynęło to na 123 row(s) affected został zwrócony z serwera w postaci zwykłego tekstu w osobnym pakiecie sieciowym, ale tak nie jest. W rzeczywistości jest to niewielka struktura o nazwie DONE_IN_PROC w odpowiedzi. Nie jest to oddzielny pakiet sieciowy, więc nie marnuje się podróży w obie strony.

Myślę, że prawie zawsze można trzymać się domyślnego zachowania liczenia, nie martwiąc się o wydajność. Istnieją jednak przypadki, w których wcześniejsze obliczenie liczby wierszy miałoby wpływ na wydajność, na przykład kursor tylko do przodu. W takim przypadku NOCOUNT może być koniecznością. Poza tym absolutnie nie ma potrzeby podążania za mottem „użyj NOCOUNT wszędzie tam, gdzie to możliwe”.

Oto bardzo szczegółowa analiza nieistotności SET NOCOUNT ustawienie:http://daleburnett.com/2014/01/everything-ever-wanted-know-set-nocount/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wypełnić kolumnę liczbami losowymi w SQL? Otrzymuję tę samą wartość w każdym rzędzie

  2. Odpowiednik MySQL ON DUPLICATE KEY UPDATE w Sql Server

  3. Przeszukaj wszystkie tabele, wszystkie kolumny pod kątem określonej wartości SQL Server

  4. Czy można połączyć wartości kolumn w ciąg znaków za pomocą CTE?

  5. Aktualizacja SQL z row_number()