sql - 表基数

标签 sql sql-server tsql sql-server-2008

执行计划中的TableCardinality是什么意思? 我正在查看数据库调优性能

谢谢

最佳答案

基数是给定表/列的 UNIQUE 值的数量(因此等于主键索引中的条目数并不奇怪,因为该索引很可能是聚集的)。索引或表的基数对 sql server 很有用,因为它允许查询优化器对引用该表时可能使用的最佳计划进行有根据的猜测。

当优化器必须获取您的 sql 代码并计算出如何处理它时,它会考虑替代计划,然后再确定将用于实际检索数据的计划。在大多数实际情况下,可能的计划数量太多,sqlserver 无法通过对所有可能的样本进行抽样来计算绝对最佳计划,因此优化器将使用统计分析来确定“足够好”的计划。

基数是它用来制定此类计划的指标之一,因为它可以使用它来确定要使用的物理连接(例如 HashMap 或循环)

关于sql - 表基数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3567152/

相关文章:

sql - Hive描述扩展表返回json

sql - 关于哪些操作索引效果不佳或未使用

Mysql 表之间的关系 - 决定因素

ios - 将从iPad/iPhone拍摄的图像保存到sql server数据库base64

sql - 当 commit tran 语句中的事务失败时,SQL Server 中是否需要回滚

PHP 不插入数据库 SQL SERVER 2008

mysql - 如何在hibernate中使用Having和group By子句?

mysql - mysql 24小时时间窗口中检索数据的日期条件

sql-server - 将服务器添加到 SQL Management Studio

需要 SQL Server 2017 多维模式