私は、Entity Frameworkを使用して、C#で、次のコードを持っている:LINQクエリ低パフォーマンス
コードでusing (var db = new RespDB())
{
var result = (from proj in db.ProjectModels
where proj.Name.Equals(project.Name)
where proj.Platform.Equals(project.Platform)
where proj.Variant.Equals(project.Variant)
where proj.MY == project.MY
where proj.Controller.Equals(project.Controller)
select proj).FirstOrDefault();
}
、 "プロジェクト" はオブジェクトです。 問題は、データベースが大きく、このコードはVisual Studioのパフォーマンス分析を使用して非常に遅いことです。問題は「firstordefault」メソッドと「where」にあることがわかりました。 このコードを最適化する方法はありますか?
クエリをSQLに書き込み、それをSSMSで実行して比較します。それは多くの 'どこですか? 'と私はあなたがインデックスでカバーされているすべての列を持っているのではないかと疑います。 – Crowcoder
EFパフォーマンスはDBパフォーマンスです。 C#のパフォーマンスをチェックしないで、SQLクエリを確認してください。 – Sefe