为什么重复值高的列(比如性别)不能作为索引?
(1)看到一个关于索引的面试题:为什么重复值高的列(比如性别)不能作为索引?
我觉得是因为以这种列作为二级索引的话,那么这颗B+树会以该列的值作为节点的排序标准,如果列值相同就以主键作为排序标准。如果该列重复值低,就可以根据该节点下的列值找到下一层节点。否则若重复值高,难以找到下一层的节点。不知道这么解释对不对?
(2)在二级索引的B+树中,叶子节点存储的是该列值和主键值,非叶子节点存储的是该列值,主键值以及到下一层节点的页号。如果在遍历到非叶子节点时,查询条件中的该列值与该节点记录的列值都相同,那么此时比较的依据是什么呢?主键值吗?如果查询条件中没有加上主键值该怎么办?
(3)在聚簇索引B+树的叶子节点中,每一个节点记录的是同一数据页下的全部记录数吗?还是说是部分记录?
索引
mysql
数据库
赞
收藏 0
回答 1
待解决
相关问题
异常“字段列表”中的未知列“性别”?
470浏览 • 1回复 待解决
明明有主键索引,为什么mysql索引失效?
806浏览 • 1回复 待解决
PostgreSQL group by 获取唯一值并添加列
239浏览 • 2回复 待解决
不能报名公测为什么?
4941浏览 • 1回复 待解决
鸿蒙java开发 Canvas为什么不能把PixelMap作为参数带入?那我绘制的图片要怎么获取呢?
1258浏览 • 1回复 待解决
为什么select 主键 from tb 就会自动走索引
576浏览 • 1回复 待解决
OpenHarmony为什么首选JS作为应用开发语言
13430浏览 • 13回复 待解决
一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?
1200浏览 • 1回复 待解决
为什么不能模拟加密门禁卡
3778浏览 • 1回复 待解决
sql 如何约束多列中所有值均不同?
635浏览 • 1回复 待解决
远程真机有些真机不能使用,为什么?为什么不能使用远程真机的某些真机?
3990浏览 • 2回复 已解决
为什么文章不能评论,有问题交流
2562浏览 • 1回复 待解决
Harmony手表为什么不能安装apk啊?
1219浏览 • 1回复 待解决
Mysql的索引是什么结构?
314浏览 • 1回复 待解决
鸿蒙小车装上电池不能通电是因为什么
3453浏览 • 5回复 待解决
MQTT连接的问题,MQTTDeserialize_connack返回值为什么始终是2
5769浏览 • 1回复 已解决
为什么服务卡片不能自定义名称,只显示应用名?
3334浏览 • 1回复 待解决
关于Mysql InnoDB下非唯一索引如果出现重复键,底层B+树具体是怎么排列的呢?
921浏览 • 1回复 待解决
为什么说二级索引不唯一,不唯一是指什么不唯一呢?
267浏览 • 1回复 待解决
Redis数据类型散列hash是什么?
653浏览 • 1回复 待解决
在MongoDb中什么是索引?
1479浏览 • 1回复 待解决
MySQL重复列逻辑处理?
256浏览 • 1回复 待解决
PolarDB for PG的高可用系统的特点是什么?
420浏览 • 1回复 待解决
什么是PolarDB for PG的高可用架构?
658浏览 • 1回复 待解决
为什么在deveco上我不能创建新的项目?一创建就报错?求解答。
3865浏览 • 2回复 待解决
建表的时候设置级联删除啊:
这样删除商品表里的数据时,优惠商品表里的数据就会被级联删除,不需要你自己管理。