gpt4 book ai didi

mysql - 如何理解 MySQL 中组合主数据库的基数

转载 作者:行者123 更新时间:2023-11-29 16:46:30 26 4
gpt4 key购买 nike

我正在运行命令:

显示来自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

我不理解码合主键的基数,因为它没有完全表明随着序列的增加它应该更加唯一而不是更少。至少,根据我对索引的理解,不应该少。

第一个问题是为什么序列号 seq_nbr 的基数较小。它说明什么?

第二,为什么最后三个具有相同的基数?它说明什么?

最佳答案

  • 基数是一个近似值。
  • 多列索引中的基数并不重要。
  • 这 8 列中的某些子集是否“唯一”?如果是这样,你应该缩短PK。
  • 列的数据类型是什么? (请提供SHOW CREATE TABLE。)
  • 表中是否有大约 31M 行?如果是这样,那么估计表明该索引已经是“唯一的”。 (这个猜测可能是错误的。)
  • MySQL 是什么版本? (获取统计数据的探测在最近几个主要版本中发生了变化。)
  • 请解释您希望如何处理基数。

关于mysql - 如何理解 MySQL 中组合主数据库的基数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53075844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com