Gib*_*boK 1 sql t-sql sql-server sql-server-2008
执行计划中TableCardinality的含义是什么?我正在研究数据库调优性能
谢谢
基数是给定表/列的UNIQUE值的数量(因此,它与主键索引中的条目数相等并不奇怪,因为该索引很可能是聚类的).索引或表的基数对于sql server非常有用,因为它允许查询优化器对引用该表时可能使用的最佳计划进行有根据的猜测.
当优化器必须获取你的sql代码并弄清楚如何处理它时,它将考虑替代计划,然后再确定它将用于实际检索数据的那个.在大多数实际案例中,可能的计划数量太大,sqlserver无法通过对所有可能的计算来计算绝对最佳计划,因此优化器将使用统计分析来确定"足够好"的计划.
基数是用于计算此类计划的度量标准之一,因为它可以使用它来确定要使用的物理连接(例如,哈希映射或循环)