我有以下代码:性能问题与列表操作
if (itemsListFromDbQuery != null && itemsListFromDbQuery.Any())
{
tempItemsList.Add(new ItemModel
{
FieldOne = itemsListFromDbQuery.FirstOrDefault().FieldOne,
FieldTwo = itemsListFromDbQuery.FirstOrDefault().FieldTwo ?? 0
});
}
这感觉有点慢,所以我增加了一个持续时间日志,发现每一次执行这个代码需要800毫秒的平均水平。
UPDATE:这里是代码来获取itemsListFromDbQuery
:
var itemsListFromDbQuery = getListFromDbQuery();
public IEnumerable<Item> getListFromDbQuery()
{
return DbContext.Items.Where(...);
}
为什么这段代码执行这么慢?
我该怎么做才能提高性能?
那么你可能会在这里运行3个查询(至少)。 – DavidG
对于性能问题,总是使用诸如DotTrace的分析器。它显示了你的确切位置 - 如果甚至 - 你会失去时间。 – HimBromBeere