任何人都能表现出色吗?在BatchSize
中使用OracleBulkCopy
和不使用BatchSize
之间的行为差异。目前我没有指定BatchSize
。我的BatchSize
可能会在100到200000之间变化。请建议最佳方法。
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;
}
答案 0 :(得分:1)
最佳批量大小应设置在500~5000左右。
使用批量复制的专业人士是:
然而,它也有一些我们需要关注的缺点:
您可以在以下网站上找到进一步的讨论: http://docs.oracle.com/html/E10927_01/OracleBulkCopyClass.htm#CHDCDEIA 要么 Bulk Insert to Oracle using .NET