SELECT * FROM TABLE1 WHERE sDATE='201308'
SELECT * FROM TABLE1 WHERE sDATE='201309'
数据库是SQLSERVER2008,以上2句SQL为什么第一条是使用聚集索引,第二条是使用非聚集索引?
没有使用分区表!
2种条件的数据量差不多都是13万左右
sDATE和其他几个字段一起作为聚集索引的。
索引和统计信息都重新生成过了。
另我将这些数据导出后,将原表数据删除,再重新导入数据后就都使用聚集索引了
9月份曾经用备份还原的方式由数据库SQLSERVER2000升级到SQLSERVER2008,8月份的数据在2000上做的,9月份的数据在2008上做的,而且执行这段查询时通过执行计划,看到查8月份数据时预计的行数与真正的记录数差不多,而查9月份数据时预计的行数只有1行。