表数据量过小或者分布不均匀,导致SQL Server查询优化器认为使用索引扫描的代价大于全表扫描,从而选择全表扫描而不是使用索引。
索引列上的数据不均匀,比如索引列上存在大量重复值的情况,会导致查询优化器认为使用索引扫描的代价较大。
索引列上存在大量NULL值,如果查询条件中包含了NULL值,那么索引就无法起到作用。
索引列上的数据类型不一致,比如在索引列上使用了函数或者类型转换,这样会导致索引无法被使用。
查询条件中包含了不等于(!=)或者不包含(NOT IN)等操作符,这些操作符会导致索引失效。
查询条件中使用了函数或者类型转换,这样会导致无法使用索引。
索引列上存在大量重复值,如果查询条件中包含了重复值,那么索引就无法起到作用。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: sqlserver数据库分离后如何恢复