【十七,MySQL】进阶篇--索引练习题

1.以下SQL语句,那个执行效率高?为什么?

select* from user where id = 10;
select * from user where name ='Arm' ;

备注: id为主键,name字段创建的有索引;

答:第一条执行效率高,只需要一次索引扫描(直接走聚集索引),第二条需要扫描两个索引(回表查询:先走二级索引,再走聚集索引)

2,InnoDB主键索引的B+tree高度为多高?
答:先要知道B+tree索引的结构 和 主键索引属于什么索引?
①B+tree索引的结构:使所有的数据存放在叶子节点中,叶子节点形成一颗双向链表。
②主键索引是:聚集索引
【聚集索引】
→叶子节点下挂的是行数据
→每一个节点最终落在磁盘上都存放在一个页当中(一个页大小固定16k)
→一个节点能够存储的key和指针的个数是有限的,非叶子节点不存放数据,只存放key和指针(指针永远比key多一个)
【十七,MySQL】进阶篇--索引练习题_第1张图片

你可能感兴趣的:(数据库,mysql,数据库)