ASP.NET を使用して Web アプリを作成しています。基本的に、10 億行のデータベースを持つ SQL Server からデータを表示する必要があります。何かをクエリすると、多くの場合、多くの時間がかかります。たとえば、次のコードを使用して、先週から作成されたデータを照会しました。
DECLARE @CurrentDate as DateTime,
@PastWeek as DateTime;
SET @CurrentDate = GETDATE();
SET @PastWeek = DATEADD(ww, -1, @CurrentDate);
SELECT [ID]
,[TIMESTAMP]
,[USERNAME]
,[CLIENTNAME]
,[COMMAND]
,[PATH]
FROM [P4D] WHERE TIMESTAMP BETWEEN @CurrentDate AND @PastWeek;
20分経ってもまだクエリを実行しています。時間範囲内かどうかにかかわらず、すべての行をテストするため、時間がかかると思います。
過去の週から作成されたデータを取得するのは間違った方法ですか? または、クエリステートメントをより効率的にする方法はありますか?
ありがとう!