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...