浅析MySQL的基数统计
一、基数是啥? Cardinality指的就是MySQL表中某一列的不同值的数量。 如果这一类是唯一索引,那基数 = 行数。 如果这一列是sex,枚举类型只有男女,那它是基数就是2 Cardinality越高,列就越有成为索引的价值。MySQL执行计划也会基于Cardinality选择索引。 通过下面的方式可以看到表中各列的基数。 比如这个经典的例子: 有一列为sex,那对于sex列中存储的值来说 非男即女,它的基数最大就是2。 那也就完全没有必要为sex建立索引。因为,为了提升你基于sex的查询速度,MySQL会为你选择的这个新索引创建一棵全新的B+Tree。但你sex只有两种值,对于My
暂无评论