我有以下代碼:性能問題與列表操作
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