sql数据库,表a内容太多,查询不出,提示:超时已过期
我用Delphi做的上位机,我用的是SqlServer2000数据库,里面有一个表a,每天都要往表a里面录入4000行数据,按时间顺序存的。可是日子久了,2~3年以后,用...
我用Delphi做的上位机,我用的是Sql Server 2000数据库,里面有一个表a,每天都要往表a里面录入4000行数据,按时间顺序存的。可是日子久了,2~3年以后,用delphi程序查询表a ,查询半年前或更久的数据就会提示‘超时过期’,且查不出来结果。目前我就使用 sql存储过程查询表a ,可是还是会有 超时过期 提示。该怎么办呢?
能不能怎么做成 目录类的东西,或者在表a里面插入几个断点之类的,让程序查询时很快定位到大体的位置?
或者多做几个 表,但这样存数据 和 查询数据时候就不好处理了?
或者有其他的解决办法么? 展开
能不能怎么做成 目录类的东西,或者在表a里面插入几个断点之类的,让程序查询时很快定位到大体的位置?
或者多做几个 表,但这样存数据 和 查询数据时候就不好处理了?
或者有其他的解决办法么? 展开
5个回答
展开全部
create nonclustered index index_name on 你的表名字(日期字段 desc)include(其他需要返回的字段)
--先价加一个索引吧
不过你这个问题最好的方式是把数据按照年或者季度分表处理。
--先价加一个索引吧
不过你这个问题最好的方式是把数据按照年或者季度分表处理。
追问
谢谢大侠的回复,此外我还想问下:
1、加的这个索引是干嘛用的?可在表/存储过程里插入 几个索引吗,快速查询出结果。
2、如何按年或者季度 分表处理?能给些建议么,或有做这方面参考资料就最好了。
追答
索引是一种特殊的数据结构,就好比书的目录一样,通过目录你可以快速查找到自己想找的内容,索引页一样通过索引,你可以快速定位自己要的数据所在的位置。一个表只能建立一个聚集索引,可以建立多个非聚集索引。一般需要建立索引的字段是出现在where,on,order by等后面的字段。具体的建法这个就不好说了,很多时候要根据实际情况来确定
展开全部
建议你的表分年表使用,A2013,A2014。查询数据的时候根据你给的时间起止,动态生成SQL语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-07
展开全部
把很多数据往一张表里面存放是没有错误 但是后果可能是耗费很多的查询时间跟资源
按照你说的每天4K条数据 那么一个月就是 4K×30 = 120K的数据 这个已经就很多了
所以你每次在月头新建一个按照年月命名的表 存放数据 另外设定主键跟索引
按照你说的每天4K条数据 那么一个月就是 4K×30 = 120K的数据 这个已经就很多了
所以你每次在月头新建一个按照年月命名的表 存放数据 另外设定主键跟索引
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个基本上很难,数据量太大了。加索引,优化都只能解决基础的东西。数据量大的问题确实很麻烦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加索引么 数据库表大了就多加几个列的索引
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询