0
クエリを使用して実現したアプリケーションを開発する際に、データベースから200個の値しか得られないことが実際に示されました。それはそれを遅くする私の別個のものであることを示した。私が読むことができる限り、Distinctはデータベースからすべての要素を取り出し、後で区別します。理由はそれです。グループで試しただけでなく、パフォーマンスが遅くなりました。これを行う正しい方法は何ですか?エンティティフレームワークの別個の値
model.AlarmLevelDistinct = myDbCtx.StatusView.GroupBy(p => p.AlarmLevel).First().Select(p => p.AlarmLevel).ToList();
model.ParametersDistinct = myDbCtx.StatusView.Select(p => p.Parameter).Distinct().ToList();
個別には常に遅くクエリを作成します。 DB側ではなく、メモリ内の別個のエントリをソートすることができます。 –
DB側の@StevenAckleyは、メモリ内の別のものよりも高速です。 EFが文を生成します。私たちはThomasからのデータを知らないので、なぜそれが遅いのか分からない。彼は多分ログEFの書き込みを投稿するだろうか?それらにはクエリが含まれています:) –
_ "なぜこのクエリは遅いですか?" _は常に_ "プロファイルする" _です。そこから、より多くの研究を行うことができます。たとえば、インデックスを追加するか、2つを追加すると役立つかもしれません。 – CodeCaster