SQL Server缺少执行计划中的索引

时间:2016-01-05 08:31:01

标签: sql sql-server

我们创建了一个包含50个连接和一些相关子查询的视图。

当我试图查看执行计划时,不建议丢失索引。

您能否告诉我为什么SQL Server没有显示正在运行的语句的任何缺失索引语句?

1 个答案:

答案 0 :(得分:0)

这是我的理解。 SQL是声明性语言。 这意味着您只需要指定所需的数据以及所需的数据。 剩下的就是服务器的任务。 SQL服务器正在使用CBO(基于成本的优化器)引擎来确定应该使用哪种访问方法。如果你使用select * from tablename而不使用任何索引。 索引虽然在某些情况下提高了性能,但它将成为障碍。 SQL使用统计信息来确定将使用哪种访问方法。索引搜索,索引扫描,聚类索引搜索,聚类索引扫描等。 所以回答你的问题可能是因为: 1.统计数据未更新 2.你使用select而不在哪里 3.您的数据库适合内存,因此不会使用索引