【发布时间】:2008-11-13 09:56:31
【问题描述】:
我正在使用 nhibernate 进行一些测试,并且正在修改 batch_size 以获取批量插入。
我正在使用 mssql2005 并使用北风数据库。 我创建了 1000 个对象并将它们插入数据库。我已将 batch_size 的值从 5 更改为 100,但发现性能没有变化。我得到大约 300 毫秒的值。使用 sql profiler,我看到服务器端有 1000 条 sql insert 语句。请帮忙。
app.config
<property name="adonet.batch_size">10</property>
代码
public bool MyTestAddition(IList<Supplier> SupplierList)
{
var SupplierList_ = SupplierList;
var stopwatch = new Stopwatch();
stopwatch.Start();
using (ISession session = dataManager.OpenSession())
{
int counter = 0;
using (ITransaction transaction = session.BeginTransaction())
{
foreach (var supplier in SupplierList_)
{
session.Save(supplier);
}
transaction.Commit();
}
}
stopwatch.Stop();
Console.WriteLine(string.Format("{0} milliseconds. {1} items added",
stopwatch.ElapsedMilliseconds,
SupplierList_.Count));
return true;
}
【问题讨论】:
标签: nhibernate