如何理解mysql中组合主目录的基数

bqucvtff  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(319)

我正在运行命令:
显示索引自 atpco_fare . atpco_r1_fare_cls ;
结果在表中

Table, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment, Visible 
atpco_r1_fare_cls   0   PRIMARY 1   tar_nbr A   7707    BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 2   carr_cd A   46531   BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 3   rule_nbr    A   426326  BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 4   fare_cls    A   30087162    BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 5   seq_nbr A   21610918    BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 6   mcn A   31260526    BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 7   eff_date    A   31260526    BTREE   YES 
atpco_r1_fare_cls   0   PRIMARY 8   proc_ind    A   31260526    BTREE   YES

我不理解组合主键的基数,因为它没有充分表明随着序列的增加,它应该更独特而不是更少。至少,基于我对指数的理解,它不应该少。
第一个问题是为什么序列号的基数较小。它说明了什么?
第二,为什么后三个具有相同的基数?它说明了什么?

jmp7cifd

jmp7cifd1#

基数是一个近似值。
多列索引中的基数几乎不重要。
这8列中的某些子集是“唯一的”吗?如果是这样,你应该缩短pk。
列的数据类型是什么(请提供 SHOW CREATE TABLE .)
表中有大约3100万行吗?如果是这样的话,那么估计表明该指数已经是“唯一的”(这个猜测可能是错误的。)
什么版本的mysql(在过去的几个主要版本中,获取统计数据的方法发生了变化。)
请解释一下你对基数的期望。

相关问题