sql数据库,表a内容太多,查询不出,提示:超时已过期

我用Delphi做的上位机,我用的是SqlServer2000数据库,里面有一个表a,每天都要往表a里面录入4000行数据,按时间顺序存的。可是日子久了,2~3年以后,用... 我用Delphi做的上位机,我用的是Sql Server 2000数据库,里面有一个表a,每天都要往表a里面录入4000行数据,按时间顺序存的。可是日子久了,2~3年以后,用delphi程序查询表a ,查询半年前或更久的数据就会提示‘超时过期’,且查不出来结果。目前我就使用 sql存储过程查询表a ,可是还是会有 超时过期 提示。该怎么办呢?
能不能怎么做成 目录类的东西,或者在表a里面插入几个断点之类的,让程序查询时很快定位到大体的位置?
或者多做几个 表,但这样存数据 和 查询数据时候就不好处理了?
或者有其他的解决办法么?
展开
 我来答
TravyLee
2014-01-07 · TA获得超过261个赞
知道小有建树答主
回答量:213
采纳率:100%
帮助的人:229万
展开全部
create nonclustered index index_name on 你的表名字(日期字段 desc)include(其他需要返回的字段)
--先价加一个索引吧

不过你这个问题最好的方式是把数据按照年或者季度分表处理。
追问
谢谢大侠的回复,此外我还想问下:
1、加的这个索引是干嘛用的?可在表/存储过程里插入 几个索引吗,快速查询出结果。
2、如何按年或者季度 分表处理?能给些建议么,或有做这方面参考资料就最好了。
追答
索引是一种特殊的数据结构,就好比书的目录一样,通过目录你可以快速查找到自己想找的内容,索引页一样通过索引,你可以快速定位自己要的数据所在的位置。一个表只能建立一个聚集索引,可以建立多个非聚集索引。一般需要建立索引的字段是出现在where,on,order by等后面的字段。具体的建法这个就不好说了,很多时候要根据实际情况来确定
djybigeye
推荐于2018-05-08 · TA获得超过720个赞
知道小有建树答主
回答量:398
采纳率:100%
帮助的人:305万
展开全部
建议你的表分年表使用,A2013,A2014。查询数据的时候根据你给的时间起止,动态生成SQL语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-07
展开全部
把很多数据往一张表里面存放是没有错误 但是后果可能是耗费很多的查询时间跟资源
按照你说的每天4K条数据 那么一个月就是 4K×30 = 120K的数据 这个已经就很多了
所以你每次在月头新建一个按照年月命名的表 存放数据 另外设定主键跟索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wht8008
2014-01-07 · TA获得超过2061个赞
知道小有建树答主
回答量:2328
采纳率:66%
帮助的人:628万
展开全部
这个基本上很难,数据量太大了。加索引,优化都只能解决基础的东西。数据量大的问题确实很麻烦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cui5445
2014-01-07
知道答主
回答量:37
采纳率:0%
帮助的人:13.4万
展开全部
加索引么 数据库表大了就多加几个列的索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式