首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示过去一周的数据(十亿行数据库)

问显示过去一周的数据(十亿行数据库)
EN

Stack Overflow用户
提问于 2012-10-03 21:47:37
回答 1查看 203关注 0票数 1

我正在做一个web应用,使用ASP.NET。基本上,我需要显示来自SQL Server的数据,它有一个十亿行的数据库。当我查询一些东西时,通常需要花费很多时间。例如,我使用以下代码来查询上周创建的数据:

代码语言:javascript
复制
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分钟后仍在查询。我认为这需要很长时间,因为它会测试每一行是否在时间范围内。

拉取从pastweek创建的数据是错误的方式吗?或者,有什么方法可以使查询语句更高效吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 21:53:52

你需要的两件事:

代码语言:javascript
复制
SELECT ID 
      ,TIMESTAMP
      ,USERNAME 
      ,CLIENTNAME 
      ,COMMAND
      ,PATH
  FROM P4D (NOLOCK) WHERE TIMESTAMP BETWEEN @CurrentDate AND @PastWeek; 

(将nolock添加到您的查询)

并使用TIMESTAMP添加一个非集群索引,并将选定的列(ID,USERNAME,CLIENTNAME,COMMAND,PATH)添加到此索引中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12709898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档