mv3-entity プロジェクトにこの linq 式があります
SubCatNews = (from c in context.NewsInSubCats
where
(c.SubCat.Visible == true &&
c.SubCatNews.Visible == true &&
c.SubCatNews.StatusID == 1 &&
c.SubCatNews.NewsTypeID != 5 &&
(c.SubCatID == catId || c.SubCat.ParentId == catId))
orderby c.SubCatNews.SubCatNewsID descending
select c.SubCatNews)
.Distinct()
.OrderByDescending(p => p.SubCatNewsID)
.Skip(pageIndex * pageSize)
.Take(pageSize);
SubCatNews テーブル (マイ ニュース) に金額 23000 レコードがあります。
これらのレコードは、グループをニュースに関連付けるために NewsInSubCats テーブルを使用します
グループはSubCatテーブルにあります
これは機能しましたが、SQLサーバーからのフェッチプロセスには長い時間がかかり、ほとんどの場合、SQLサーバーからタイムアウト例外が返されます
2 GB RAM の仮想専用サーバーで、この構造の 3 つのサイトをホストしました
このLinq式は最適化されていますか?
または、SQLサーバーでインデックスを使用する必要があります
ありがとう