Я провожу некоторые тесты с помощью nhibernate и модифицирую batch_size, чтобы получить массовые вставки.
Я использую mssql2005 и использую базу данных Northwind.
Я создал 1000 объектов и вставил их в базу данных. Я изменил значения batch_size с 5 на 100, но не обнаружил изменений в производительности. Я получаю значение около 300 мс. Используя SQL Server Profiler, я вижу, что 1000 SQL операторов вставки на стороне сервера. Пожалуйста, помогите.
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;
}