1
我在SQL Server中一个简单的表格,看起来像这样:查询数据有超过十亿行
id | Date | Value
我有id
上Date
一个聚集索引,非聚集索引。
该表包含超过10亿行。
我创建一个看起来像这样一个简单的查询:
select * from table
where id = x
and date >= date1 and date < date2
问:为什么只需要不到一个或最多3秒内找到的数据当我使用例如日期1 01 sept 2013
和date2 14 oct 2013
,但如果我将date1更改为01 oct 2013
,则需要超过50秒,如果我将01 jan 2013
仅需不到3秒?
我已经尝试了一切,我删除了缓存和数据库的SQL执行计划,仍然是一样的......没有SQL Server忘记设置索引这一行?我不知道该怎么做,它似乎是随机工作的。
谢谢,我将与我的团队讨论这个更新表需要一段时间 –