执行计划中的TableCardinality是什么意思? 我正在查看数据库调优性能
谢谢
最佳答案
基数是给定表/列的 UNIQUE 值的数量(因此等于主键索引中的条目数并不奇怪,因为该索引很可能是聚集的)。索引或表的基数对 sql server 很有用,因为它允许查询优化器对引用该表时可能使用的最佳计划进行有根据的猜测。
当优化器必须获取您的 sql 代码并计算出如何处理它时,它会考虑替代计划,然后再确定将用于实际检索数据的计划。在大多数实际情况下,可能的计划数量太多,sqlserver 无法通过对所有可能的样本进行抽样来计算绝对最佳计划,因此优化器将使用统计分析来确定“足够好”的计划。
基数是它用来制定此类计划的指标之一,因为它可以使用它来确定要使用的物理连接(例如 HashMap 或循环)
关于sql - 表基数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3567152/