Question

Arrière plan:

J'ai une base de données SQL Server 2008 Enterprise Edition contenant trois tables. Les tableaux contiennent environ 3 millions, environ 14 millions, environ 14,5 millions de lignes respectivement.

Problème:

J'ai besoin de faire un extrait de données de la base de données à des fins de rapport. Cela impliquera de rejoindre les trois tables et d'écrire chaque ligne dans un fichier texte. Cette base de données prend actuellement du trafic de production et je souhaite limiter l'impact des performances. Cet extrait de données ne doit pas empêcher les lectures, les écritures ou les mises à jour de se produire au cours du processus.

D'après les recherches que j'ai faites, je crois que l'ajout de l'indice «nolock» à la requête d'extrait de données permettra au trafic de production de se comporter normalement tout en accomplissant ma tâche principale de l'extrait de données. Je suppose que les lectures sales associées à l'indice «nolock» seront isolées à la requête d'extrait de données.

Ai-je raison de supposer que le «Nolock» indique la requête d'extrait de données affectera seulement cette requête particulière? Cela affecte-t-il toutes les requêtes exécutées sur la base de données pendant que la requête d'extrait de données s'exécute?

Y a-t-il une meilleure approche pour atteindre mon objectif que ce que j'ai présenté ci-dessus?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top