データベースにレコードを挿入する必要がありますが、20 ~ 25 秒ほど時間がかかりすぎます。最初にリスト型パラメーターを持つループを含む2つのメソッドがforeach
あり、2番目のメソッドにはいくつかのレコードを保存および削除するためのLinqクエリがあります。コードを以下に示します。
public void InsertAssignment(List<TIVGroupItem> Item)
{
using (var tr = session.BeginTransaction())
{
try
{
foreach (var item in Item)
{
ak_tIVGroupItemSelector_Insert(item);
}
tr.Commit();
}
catch (Exception ex)
{
tr.Rollback();
CusException cex = new CusException(ex);
cex.Write();
}
}
}
2番目の方法
public void ak_tIVGroupItemSelector_Insert(TIVGroupItem GroupItem)
{
try
{
var result = (from i in session.Query<TIVGroupItem>()
where i.Id == GroupItem.Id
select i).SingleOrDefault();
if (result != null)
session.Delete(result);
session.Save(GroupItem);
}
catch (Exception ex)
{ CusException cex = new CusException(ex);
cex.Write();
}
}
アイテム リストにはいくつかのレコードが含まれています。では、この種の問題でパフォーマンスを向上させるにはどうすればよいでしょうか。データベースにレコードを保存するパフォーマンスを向上させる方法はありますか?