【发布时间】:2014-05-31 05:08:39
【问题描述】:
批量插入查询和循环在 sql 数据库上的单个实体插入查询之间是否存在性能差异
//bulk entities insert query
void Insert(IEnumerable<TEntity> entities);
和
foreach(entity in entities)
{
// use single entity insert query
void Insert(TEntity entity);
}
【问题讨论】:
-
本能地,我会说批量插入在最坏的情况下不会比循环更糟糕,只会相等或更好。
-
既然你使用的是实体框架,那么在这两种情况下调用
SaveChanges()不是都会保存所有内容吗?此外,当您的问题有更新时,请编辑原始问题。 -
你为什么不两个都试试,自己看看?
-
Insert(IEnumerable)做什么做什么?它真的使用 BULK INSERT - 请注意,这个术语已经意味着什么! - 或等效的直接插入; 或它是否在内部循环并使用 EF 来插入每个项目(一次一个)?如果它使用相同的方法(即 EF 托管对象图),那么它可能不重要循环在哪里并且它不是“批量插入”。
标签: c# asp.net entity-framework repository-pattern