我使用OleDB连接到我的DB2服务器。
我有很多擅长插入我的数据库,每个人至少有700k行...是的...
所以,我试图用StatelessSession做一些事情,效果很好,但需要花费很多时间......用1k行运行20分钟,或多或少......
那很糟糕......太糟糕了......我听说过adonet.batch_size属性,但它不适用于DB2或OleDB驱动程序。
所以,我也听说过,我们可以使用IBatcher手动接近,但是如果能做到这一点,那么任何人都可以给我一些完整的样本吗?比如,创建这个Batcher类的简单方法,并改进下面的示例(我的工作代码)...
或者,如果有任何其他方法可以改善此查询... =(我每个连接运行1k行... idk wut to do ... =(
先谢谢你们!
亲切的问候!
var stopwatch = new Stopwatch();
var counter = 0;
stopwatch.Start();
using (var statelessSession = BLL.Connector.SessionFactory.OpenStatelessSession())
using (var transaction = statelessSession.BeginTransaction())
{
foreach (Entites.SapDetail detail in this.details)
{
statelessSession.Insert(detail);
counter++;
}
transaction.Commit();
this.details.Clear();
}
stopwatch.Stop();
var time = stopwatch.Elapsed;