2009-03-13 3 views
1

L'insertion en masse de 2000 lignes de données est-elle logique?Utilisation de l'insertion en bloc pour 2000 lignes de données

Il pourrait être 500-2K dans la réalité. BTW, est-ce que les insertions en masse ignorent la contrainte ou est-ce un parametre? (En utilisant sql server 2008, .net côté serveur, les données arrivent via un service web (wse ou WCF)).

+0

double, voir: http://stackoverflow.com/questions/642724/fastest-way-to-bulk-insert-rows-into-sql-server Du même auteur! –

Répondre

2

L'insertion en vrac n'aurait probablement pas de sens pour 2000 rangées. Peut-être pour 200 000 lignes.

Les contraintes ignorées sont default behaviour. (Également décrit here).

CHECK_CONSTRAINTS

Indique que toutes les contraintes sur la table cible ou vue doivent être vérifiés lors de l'opération d'importation en bloc. Sans l'option CHECK_CONSTRAINTS, toutes les contraintes CHECK et FOREIGN KEY sont ignorées et, après l'opération, la contrainte sur la table est marquée comme non approuvée.

Remarque: Les contraintes UNIQUE, PRIMARY KEY et NOT NULL sont toujours .

L'option « KEEPIDENTITY » de « BULK INSERT »:

Indique que la valeur d'identité ou valeurs dans le fichier de données importées sont à utiliser pour la colonne d'identité. Si KEEPIDENTITY n'est pas spécifié, les valeurs de cette colonne d'identité sont vérifiées mais ne sont pas importés et SQL Server attribue automatiquement les valeurs uniques basées sur la graine et l'incrément valeurs spécifiées lors de la table création .

+0

donc pour une colonne PK auto-incrémentation, nous devons mettre à jour le compteur manuellement en quelque sorte? – bigint

+0

Bonjour, J'ai modifié ma réponse pour inclure les colonnes Identité –

Questions connexes