データベースに日付フィールド(VisitDate
)を持つテーブルがあります。私は次のSQLクエリを実行すると、私は1秒で結果を受け取ります(Visual Basicで)私のASP.Netコードで、GroupBy()が極端に遅い
select year(VisitDate), month(visitDate)
from GABrowser
group by year(VisitDate), month(visitDate)
しかし、フォローは実行に12秒かかる:
Dim stats = db.GABrowsers.GroupBy(Function(s) New With {s.VisitDate.Value.Year, s.VisitDate.Value.Month})
'(Takes 12 seconds to enter in the For loop)
For Each stat In stats
Next
私はなぜそれが長くかかるのかわかりません。私のウェブページの読み込みが極端に遅くなっています。
実際にSQL Serverが何をしているか確認してください。 SQLプロファイラを実行して、アプリケーションがSQL Serverに送信するコマンドを確認できますか?その後、何が実行され、どのくらいの期間表示されます。 –
VisitDate用のクラスタ化インデックスを作成し、EFプロファイラでSQLクエリを投稿してください –
SQLプロファイラについて聞いたことがありません。これはどこで実行しますか? – AskYous