问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[数据库之十二] 数据库索引之覆盖索引

发布网友 发布时间:2023-04-24 06:13

我来回答

1个回答

热心网友 时间:2023-10-11 11:27

  对于 MySQL InnoDB 引擎来说,表必须要有聚簇索引(也叫聚集索引),设定的规则如下:

  InnoDB 会为聚簇索引创建一个 B+ 树,并且叶子结点存储的是行记录(其实是页结构,一个页包含多行数据),B+ 树高度达到 3 一般就能为千万级别的数据建立索引,根据主键最多只需要 1~3 次 IO操作就能查到所要的数据。

  普通索引也叫二级索引,一般也会为它建立一个 B+ 树,是一个非聚簇索引,叶子结点存储的主键的值(InnoDB),如果是 MyISAM 存储的是记录指针。





普通索引查找第一步

普通索引查找第二步

先通过普通索引的值定位聚簇索引值,再通过聚簇索引的值定位行记录数据,需要扫描两次索引 B+ 树,它的性能较扫一遍索引树更低,这种操作叫回表查询

如果普通索引的列和主索引的列,刚好能满足 SQL 查询中要 select 的列,如下所示:

那么只需要在非聚簇索引的树上查询一次就能获取所有的列数据,无需回表,数据更快,这叫覆盖索引




  为了实现索引覆盖,需要建组合索引idx_age_name(age,name)。





声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
母爱作文(围绕一句话来写)900字 月经期能喝冰糖沙梨水? 石家庄火车站骗钱 五等分的新娘手游汉化安卓游戏官方下载 昆明看守所那个看守所好在 成建军行政拘留 青岛贵捷充换电设备成套服务有限公司怎么样? 合肥贵捷商贸有限责任公司怎么样? 南京贵捷物资有限公司怎么样? 上海贵捷电气有限公司产品用途 手机怎样隐藏文件夹 致良知读后感锦集范文三篇 《致良知》经典读后感范文三篇 致良知读后感精选优秀范文三篇 精选致良知读后感优秀范文三篇 黑名单人员就业上市公司会被通报到公司吗? 油灯盏的引证解释油灯盏的引证解释是什么 鼓盏的引证解释鼓盏的引证解释是什么 翻盏的引证解释翻盏的引证解释是什么 觥盏的引证解释觥盏的引证解释是什么 盏_的引证解释盏_的引证解释是什么 怎样解除vivo手机的黑名单? 南宁地铁可以带中药吗 jquery打印自动生成pdf 邬君梅穿旗袍身材纤瘦有曲线 ,这样的嬛嬛你惊艳了吗? 孕期很喜欢吃泡面是怎么回事,对宝宝有影响吗? 为什么怀孕老想吃面条 怀孕总想吃面食不爱吃饭 cts气密性检测仪怎么连接电脑 佳宁里小学划片哪个小区 住院报销有没有时间限制? air5双typec线是编织的吗 喜呕的读音喜呕的读音是什么 喜呕简介 寒热交迫,头晕无力,喜呕是怎么回事 小柴胡冲剂里面说的“心烦喜呕”具体是指的什么? 能成厨艺加厨具产品怎么样 怎样才能让食材煮熟且不粘锅? 梦见数字是什么意思 梦到数字是什么预兆 梦见数字零零零零零叁柒的预兆 梦见狗满身血的预兆 梦见狗拉稀的预兆 为什么说良好的人际关系是大学生心理健康的需要呢? 梦见老婆即将要与我离婚的预兆 梦见和好多人一块打大灰狼的预兆 梦见打死狼和老虎的预兆 诡诞的国语词典诡诞的国语词典是什么 诡随的国语词典诡随的国语词典是什么 2017高考必备四字成语精选 写作文好用的成语和句子