xhr489 Asked: 2023-02-02 22:32:08 +0800 CST2023-02-02 22:32:08 +0800 CST 2023-02-02 22:32:08 +0800 CST 是什么让优化器在计划中插入排序运算符 772 优化器选择在计划中插入排序运算符(以满足流聚合或合并连接等)而不是哈希匹配或哈希连接的原因是什么? 我现在看到了几个例子,其中显然犯了错误,并且暗示查询会使它更快。 我看到的示例来自 SQL Server 2016。 sql-server 1 个回答 Voted Best Answer David Browne - Microsoft 2023-02-02T22:37:47+08:002023-02-02T22:37:47+08:00 优化器选择在计划中插入排序运算符(以满足流聚合或合并连接等)而不是哈希匹配或哈希连接的原因是什么? 它是一种基于成本的查询优化器,可根据可用的统计数据估算候选计划的成本。统计数据可能会丢失或过时,即使有良好的统计数据,成本估算过程也不是完美的。 所以原因很简单,根据可用的统计数据,它估计这是更便宜的计划。
它是一种基于成本的查询优化器,可根据可用的统计数据估算候选计划的成本。统计数据可能会丢失或过时,即使有良好的统计数据,成本估算过程也不是完美的。
所以原因很简单,根据可用的统计数据,它估计这是更便宜的计划。