Quelle est la différence entre donner BatchSize et ne pas donner BatchSize pour OracleBulkCopy?

ado.net c# oracle sql sqlbulkcopy

Question

Est-ce que n'importe qui peut faire la différence performance / comportement entre utiliser BatchSize et sans utiliser BatchSize dans OracleBulkCopy . Actuellement, je ne spécifie pas BatchSize . Ma BatchSize peut varier de 100 à 200 000. Veuillez suggérer la meilleure approche.

try
{
     var columnMapping =
         from table in orgTable.Columns.Cast<DataColumn>()
         select
             new OracleBulkCopyColumnMapping(table.ColumnName, table.ColumnName);
     using (var bulkcopy
         = new OracleBulkCopy(ConnectionString, OracleBulkCopyOptions.Default))
     {                    
         bulkcopy.DestinationTableName = GoldOrgTable;                                        
         foreach (var mapping in columnMapping)
             bulkcopy.ColumnMappings.Add(mapping);
         bulkcopy.BulkCopyTimeout = TimeOut.Value;
         bulkcopy.WriteToServer(orgTable);
         orgTable.Dispose();
     }
     return true;
}

Réponse populaire

La taille optimale des lots doit être réglée autour de 500 ~ 5000.

Le pro de l'utilisation de la copie en bloc est:

  • augmenter les performances (réduire le temps requis) de l'insertion dans la base de données
  • manipuler avec une insertion lourde (plusieurs rangées d'insertion) à la volée

Cependant, il y a aussi des inconvénients que nous devons considérer:

  • son plus difficile à dépanner quand il y a une ligne dans la copie en bloc frappe erreur
  • Il est possible que certaines données ne soient pas insérées correctement (données modifiées) même si le processus de copie en masse a été effectué avec succès

Vous trouverez plus de détails sur le site Web suivant: http://docs.oracle.com/html/E10927_01/OracleBulkCopyClass.htm ou Bulk Insert to Oracle à l’aide de .NET.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi