Devart DotConnect for Oracle で POCO を使用すると、コード フラグメント 1 がコード 2 よりも高速である理由を知りたいです。
100000 レコード以上試してみましたが、コード 1 は 2 よりもずっと高速です。なぜですか? 接続が1つしかないため、「SaveChanges」はバッファをクリアして高速化すると思いました。私が間違っている?
コード 1:
for (var i = 0; i < 100000; i++)
{
using (var ctx = new MyDbContext())
{
MyObj obj = new MyObj();
obj.Id = i;
obj.Name = "Foo " + i;
ctx.MyObjects.Add(obj);
ctx.SaveChanges();
}
}
コード 2:
using (var ctx = new MyDbContext())
{
for (var i = 0; i < 100000; i++)
{
MyObj obj = new MyObj();
obj.Id = i;
obj.Name = "Foo " + i;
ctx.MyObjects.Add(obj);
ctx.SaveChanges();
}
}