Het type code dat u schrijft, is zeer gevoelig voor SQL-injectie. In plaats van de lezer te verwerken zoals u bent, kunt u gewoon de eigenschap RecordsAffected gebruiken om het aantal rijen in de lezer te vinden.
BEWERKEN:
Na wat onderzoek te hebben gedaan, is het verschil dat u ziet een ontwerpverschil tussen de contextverbinding en een gewone verbinding. Peter Debetta blogde hierover en schrijft:
"De contextverbinding is zo geschreven dat het slechts een rij tegelijk ophaalt, dus voor elk van de 20 miljoen enkele oneven rijen vroeg de code om elke rij afzonderlijk. Bij gebruik van een niet-contextverbinding vraagt het echter 8K waard rijen tegelijk."
http://sqlblog.com /blogs/peter_debetta/archive/2006/07/21/context-connection-is-slow.aspx