当我在查询中使用distinct子句并且在切换到执行计划之后,它显示聚集索引扫描的成本为93%,流聚合为7%。
我的查询是
SELECT DISTINCT LastName
FROM Person.Person
有人可以解释一下吗?还有一件事我不熟悉这个执行计划的事情,我想了解执行计划中的每一个和所有相关内容,所以有任何博客或书籍可以帮助我理解执行计划。 感谢
答案 0 :(得分:1)
DISTINCT
关键字使用内部GROUP BY
DISTINCT和GROUP BY通常会生成相同的查询计划,所以 两个查询结构的性能应该相同。
http://sqlmag.com/database-performance-tuning/distinct-vs-group
Stream Aggregate运算符按一列或多列对行进行分组 然后计算由...返回的一个或多个聚合表达式 查询。
Stream Aggregate Showplan Operator
你会在这里找到详尽无遗的logical and physical operators