为什么重复值高的列(比如性别)不能作为索引?
(1)看到一个关于索引的面试题:为什么重复值高的列(比如性别)不能作为索引?
我觉得是因为以这种列作为二级索引的话,那么这颗B+树会以该列的值作为节点的排序标准,如果列值相同就以主键作为排序标准。如果该列重复值低,就可以根据该节点下的列值找到下一层节点。否则若重复值高,难以找到下一层的节点。不知道这么解释对不对?
(2)在二级索引的B+树中,叶子节点存储的是该列值和主键值,非叶子节点存储的是该列值,主键值以及到下一层节点的页号。如果在遍历到非叶子节点时,查询条件中的该列值与该节点记录的列值都相同,那么此时比较的依据是什么呢?主键值吗?如果查询条件中没有加上主键值该怎么办?
(3)在聚簇索引B+树的叶子节点中,每一个节点记录的是同一数据页下的全部记录数吗?还是说是部分记录?
索引
mysql
数据库
赞
收藏 0
回答 1
待解决
相关问题
异常“字段列表”中的未知列“性别”?
912浏览 • 1回复 待解决
pandas根据多列值的条件替换某列对应的值
265浏览 • 0回复 待解决
明明有主键索引,为什么mysql索引失效?
1479浏览 • 1回复 待解决
不能报名公测为什么?
5338浏览 • 1回复 待解决
InnoDB为什么需要自适应的Hash索引?
230浏览 • 1回复 待解决
PHP高并发写入数据重复问题有知道的吗?
327浏览 • 1回复 待解决
鸿蒙java开发 Canvas为什么不能把PixelMap作为参数带入?那我绘制的图片要怎么获取呢?
1577浏览 • 1回复 待解决
OpenHarmony为什么首选JS作为应用开发语言
14665浏览 • 13回复 待解决
PostgreSQL group by 获取唯一值并添加列
754浏览 • 2回复 待解决
mysql的timestamp类型列如何修改默认值?
345浏览 • 1回复 待解决
为什么select 主键 from tb 就会自动走索引
755浏览 • 1回复 待解决
远程真机有些真机不能使用,为什么?为什么不能使用远程真机的某些真机?
4719浏览 • 2回复 已解决
Harmony手表为什么不能安装apk啊?
1860浏览 • 1回复 待解决
为什么文章不能评论,有问题交流
2878浏览 • 1回复 待解决
一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?
1660浏览 • 1回复 待解决
为什么不能模拟加密门禁卡
4394浏览 • 1回复 待解决
sql 如何约束多列中所有值均不同?
964浏览 • 1回复 待解决
Mysql的索引是什么结构?
686浏览 • 1回复 待解决
使用select id为什么查询计划的key是索引而不是primary?
382浏览 • 2回复 待解决
鸿蒙小车装上电池不能通电是因为什么
3936浏览 • 5回复 待解决
MQTT连接的问题,MQTTDeserialize_connack返回值为什么始终是2
6531浏览 • 1回复 已解决
什么是PolarDB for PG的高可用架构?
876浏览 • 1回复 待解决
为什么服务卡片不能自定义名称,只显示应用名?
3833浏览 • 1回复 待解决
关于Mysql InnoDB下非唯一索引如果出现重复键,底层B+树具体是怎么排列的呢?
1369浏览 • 1回复 待解决
为什么DevEco Studio只能打繁体字,不能打简化汉字
3369浏览 • 1回复 待解决
建表的时候设置级联删除啊:
这样删除商品表里的数据时,优惠商品表里的数据就会被级联删除,不需要你自己管理。