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

dlaczego procedura SQLCLR miałaby działać wolniej niż ta sama strona klienta kodu?

Typ pisanego kodu jest bardzo podatny na wstrzyknięcie SQL. Zamiast przetwarzać czytnik tak, jak Ty, możesz po prostu użyć właściwości RecordsAffected, aby znaleźć liczbę wierszy w czytniku.

EDYCJA:

Po przeprowadzeniu pewnych badań różnica, którą widzisz, jest różnicą projektową między połączeniem kontekstowym a zwykłym połączeniem. Peter Debetta napisał o tym na blogu:

„Połączenie kontekstowe jest napisane w taki sposób, że pobiera tylko jeden wiersz na raz, więc dla każdego z 20 milionów niektórych nieparzystych wierszy kod pytał o każdy wiersz osobno. Jednak przy użyciu połączenia niekontekstowego żąda 8K wartości wierszy na raz."

http://sqlblog.com /blogs/peter_debetta/archive/2006/07/21/context-connection-is-slow.aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy zapytanie SELECT zawsze zwraca wiersze w tej samej kolejności? Tabela z indeksem klastrowym

  2. BCP - Nieprawidłowa wartość znaku dla specyfikacji rzutowania podczas importu do tabeli z kolumną IDENTITY

  3. SQL Server FileStream jak wypełnić kolumnę strumienia plików

  4. Obliczona kolumna w EF Code First

  5. Doradca dostrajania bazy danych zaleca utworzenie istniejącego indeksu