我正在使用 ASP.NET 制作一个 Web 应用程序。基本上,我需要显示来自具有十亿行数据库的 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分钟后仍在查询。我认为这需要很长时间,因为它测试每一行是否在时间范围内。
提取过去一周创建的数据的方法是否错误?或者有什么方法可以让查询语句更高效?
谢谢!