J'ai un grand nombre de lignes dans une table SQL Server. Je dois sélectionner toutes ces lignes et exécuter une requête de mise à jour pour chacune de ces lignes. Je dois savoir ce qui est la meilleure option faire une des options suivantesMise à jour d'un grand nombre de lignes
exécuter une requête de sélection et obtenir un DataTable et utiliser le code suivant dans l'application
foreach (article DataRow dans DataTable.Rows) {// effectuer la mise à jour }
au niveau de la base de données utiliser une procédure stockée, sélectionnez l'ensemble de données et utiliser le curseur SQL Server pour effectuer la mise à jour
Pourquoi avez-vous besoin de faire la mise à jour une ligne à la fois? Une solution basée sur un ensemble est probablement beaucoup plus efficace. –
Comment changez-vous les données? Ces deux options pourraient être assez lentes. Mais il y a de meilleures options en fonction des changements. –
Utilisez ** option 3 **: une instruction UPDATE ** basée sur un ensemble ** dans SQL. Il n'y a absolument pas besoin de mettre les données à la disposition du client pour une mise à jour (option 1), et lors de la mise à jour sur le serveur, il faut ** éviter le curseur ** - c'est lent, c'est moche, pas nécessaire dans 99% des cas les cas de toute façon ... aussi: de combien de lignes parlez-vous? Des centaines? Milliers? Des millions? –