You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中多语句表值函数查询基数估计默认100行是否为既定规则?

SQL Server多语句表值函数的基数估计说明
  • 执行计划中显示的100行预期行数是一致且有文档记录的标准行为,并非你的SQL Server 2019服务器特例。
  • 自SQL Server 2014引入新基数估计器(CE)后,多语句表值函数(MS TVF,即你查询中的[Multi-Statement-Table-Valued-Function])的默认基数估计值固定为100行。而在2012及更早版本的旧基数估计器中,这类函数的估计值是1行,这是新旧CE的明确差异点。
  • 你关于2014年后基数估计核心方法未发生重大变更的判断是正确的,但这个100行的固定估计属于新CE针对多语句表值函数的特定规则,可能你的笔记未覆盖该细节。
  • 需要注意:这个100行是优化器的固定“猜测值”,不会根据函数内部的业务逻辑、实际数据分布或返回行数动态调整,这也是多语句表值函数容易引发性能问题的原因之一——优化器无法基于真实数据量生成最优执行计划。

内容的提问来源于stack exchange,提问作者J. Mini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:14:54