mysql 基數 MySQL 索引基數

2021-10-17 13:54:15 字數 917 閱讀 7835

mysql 索引基數

簡介:在本教程中,您將了解mysql索引基數以及如何使用show indexes命令檢視索引基數。

索引基數是指儲存在索引中指定列中的值的唯一性。

mysql基於儲存為整數的統計資訊生成索引基數,因此,值可能不一定精確。

查詢優化器使用索引基數為給定查詢生成最佳查詢計畫。它還使用索引基數來決定是否在連線操作中使用索引。

如果查詢優化器選擇具有低基數的索引,則它可能比不使用索引掃瞄行更有效。

要檢視索引基數,請使用

例如,以下語句返回示例資料庫中具有基數(*)的orders表的索引資訊:

mysql> show indexes from orders;

| table | non_unique | key_name | seq_in_index | column_name | collation | cardinality | sub_part | packed | null | index_type | comment | index_comment | visible |

| orders | 0 | primary | 1 | ordernumber | a | 326 | null | null | | btree | | | yes |

| orders | 1 | customernumber | 1 | customernumber | a | 98 | null | null | | btree | | | yes |

2 rows in set (0.01 sec)

(*)滾動到輸出的右側以檢視索引基數。

在輸出中,ordernumber列顯示表具有326個唯一值,而   customernumer列僅具有98倍不同的值。

如前所述,索引統計資訊僅是近似值,可能不代表表中行的實際大小。要生成更準確的統計資訊,請使用analyze table命令。

mysql基數是什麼 MySQL中的基數是什麼?

在mysql中,基數一詞是指可以放入列中的資料值的唯一性。它是一種屬性,會影響搜尋,聚類和排序資料的能力。基數可以分為以下兩種型別 低基數 列的所有值必須相同。高基數 列的所有值必須唯一。如果我們在列上施加約束以限制重複值,則使用高基數的概念。高基數以下是高基數的示例,其中列的所有值都必須是唯一的。...

MySQL的基數統計

一 基數是啥?cardinality指的就是mysql表中某一列的不同值的數量。如果這一類是唯一索引,那基數 行數。如果這一列是 列舉型別只有男女,那它是基數就是2 cardinality越高,列就越有成為索引的價值。mysql執行計畫也會基於cardinality選擇索引。通過下面的方式可以看到表...

MySQL中的基數

cardinality指的就是mysql表中某一列的不同值的數量。如果這一類是唯一索引,那基數 行數。如果這一列是 列舉型別只有男女,那它是基數就是2 cardinality越高,列就越有成為索引的價值。mysql執行計畫也會基於cardinality選擇索引。引數 innodb stats aut...