这种情况和sqlserver优化利用的索引有关。在你的sql语句中,应该是有多个索引字段,而且其中一个索引是时间。当时间范围较大时(示例中的1月1日到10月31日),sqlserver认为时间范围较大,采用了其他索引字段,而恰巧这个索引在本次查询效率较高。当时间范围缩小时(示例中的10月1日到10月31日),sqlserver认为时间范围较小,采用了时间索引字段,而恰巧时间索引在本次查询效率较慢。如果你的sql加上强制使用其他索引,就能发现,即使缩小时间范围,也没有问题:select * from [table_name] with (NoLock,Index = [index_name]) where ......-----by 谊信 www.shyxit.com