2010-09-09 5 views
0

dupliquées possible:
What is wrong with Cursors ?Curseurs dans SQL Server

Pourquoi nous disons curseur affectera la performance. Même nous utilisons une autre boucle au lieu de curseurs cela fonctionne de la même façon? S'il vous plaît avis

+4

** TONNES ** de doublons - par exemple [Quel est le problème avec les curseurs?] (Http://stackoverflow.com/questions/743183/what-is-wrong-with-cursors) - s'il vous plaît ** rechercher ** d'abord avant de poser une question encore et encore - Merci. –

+0

Merci de m'avoir redirigé vers la réponse, Marc – Bala

+1

http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them – HLGEM

Répondre

0

Si votre SQL est conçu pour fonctionner RBAR (row-by-agonizing-row) alors une boucle ou un curseur prendra beaucoup de temps. SQL est le meilleur pour définir des données, travailler avec des ensembles au lieu de lignes et vos performances vont généralement augmenter.

Si vous reformulez votre question ou si vous postez un exemple de code SQL, nous pourrons peut-être vous aider!

0

Pas vraiment sûr de ce que la question est, mais les curseurs sont en effet considérablement lent sur SQL Server, lorsqu'il est utilisé sur une base rangée de rangée 2;

Publiez un code ou une question spécifique.

0

car les bases de données fonctionnent sur des ensembles qui ne sont pas en boucle. il est beaucoup plus rapide à faire

update table set SomeCol = 'A' 
where SomeDAte > '2010-01-01' 

que d'écrire un curseur et mettre à jour cette ligne par ligne

La seule fois que j'utilise des curseurs est si je dois faire un peu d'entretien comme la reconstruction ou la réorganisation d'un index