Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

perché un processo SQLCLR dovrebbe essere più lento dello stesso lato client di codice

Il tipo di codice che stai scrivendo è altamente suscettibile a SQL injection. Invece di elaborare il lettore come te, puoi semplicemente utilizzare la proprietà RecordsAffected per trovare il numero di righe nel lettore.

MODIFICA:

Dopo aver fatto alcune ricerche, la differenza che stai vedendo è una differenza di progettazione tra la connessione di contesto e una connessione normale. Peter Debetta ha bloggato su questo e scrive:

"La connessione di contesto è scritta in modo tale da recuperare solo una riga alla volta, quindi per ciascuna delle 20 milioni di righe dispari, il codice richiedeva ciascuna riga individualmente. Utilizzando una connessione non di contesto, tuttavia, richiede 8K di righe alla volta."

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