Le moyen le plus rapide pour insérer en parallèle à une seule table

Mon entreprise est maudit par un partenariat symbiotique tourné parasitaires. Pour obtenir nos données à partir du parasite, nous devons avoir recours à une lente et douloureuse de connexion odbc. J'ai remarqué récemment que je peux obtenir plus de débit en exécutant des requêtes en parallèle (même sur la même table).

Il ya une très grande table que je veux extraire des données à partir et de le déplacer dans nos locaux à la table. L'exécution de requêtes en parallèle je peux obtenir des données plus rapidement, mais j'imagine aussi que cela pourrait provoquer des problèmes avec le fait d'essayer d'écrire des données à partir de plusieurs requêtes dans la même table à la fois.

Quels conseils pouvez-vous me donner sur la meilleure façon de gérer cette situation afin que je puisse profiter de l'augmentation de la vitesse de l'aide de requêtes en parallèle?

EDIT: j'ai eu d'excellents commentaires ici, mais je pense que je n'étais pas complètement clair sur le fait que je suis en tirant des données via un serveur lié (qui utilise les pilotes odbc). En d'autres termes cela signifie que je peux exécuter normale instructions INSERT et je crois, qui fournit de meilleures performances que soit SqlBulkCopy ou d'INSERTION en bloc (en fait, je ne crois pas BULK INSERT serait même une option).

Comme vous l'avez suggéré, en parallèle de l'écrit ne sera probablement pas aider à la performance. Vous pourriez trouver quelques réponses ici stackoverflow.com/questions/2861944/...
Êtes-vous à la migration des données? Je demande parce que vous avez dit que votre déplacement de données pour les tables locales. Aussi, comment faites-vous cela dans le code par exemple c# ou dans le cadre d'un travail sql?
Oui, mais les nouvelles données ne rentre pas dans notre base de données donc je vais devoir copier quelque chose de nouveau sur une base quotidienne. Jusqu'à présent, j'ai été faire dans ssms par la main, mais l'idée parallèle sera fait en c# si je le fais. Ne va probablement pas faire un parallèle b/c j'ai eu toutes les données historiques maintenant et vraiment juste besoin de l'installation d'un travail sql à exécuter et obtenir de nouvelles données tous les soirs. Mais je voulais juste avoir quelques infos sur l'idée b/c je peut l'utiliser que dans un proche avenir sur d'autres trucs.
Pas vraiment sûr si cela est applicable, mais avez-vous pensez à l'enregistrer vos requêtes en parallèle les résultats de séparer les tables locales de "concaténer" par la suite?
En fait, je ne pense à ce sujet... et puis je me suis demandé si ce serait utile si tout est fait sur le même disque dur, ou si j'avais besoin de tables sur des hd, pour que ce soit une aide significative. J'ai aussi pensé à stocker dans la mémoire de la table des variables qui je pense serait plus rapide, mais aussi plus de l'effort de développement du moi.

OriginalL'auteur Brandon Moore | 2012-06-19