当前位置: 首页 > news >正文

MySQL之覆盖索引

什么是覆盖索引?

覆盖索引:查询时使用了索引,且需要返回的列,在改索引中已经全部能找到。

示例:有user表如下:

CREATE TABLE `user` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '技术主键',`name` varchar(100) DEFAULT NULL COMMENT '姓名',`age` int(11) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`),KEY `idx_1` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

sql1:select * from user where id=1; -- 覆盖索引

sql2:select id,name from user where name='小明';  -- 覆盖索引

sql3:select id,name,age from user where name='小明';  -- 非覆盖索引,需要回表查询

 

小结:覆盖索引是指查询使用了索引,返回的列必须在索引中能全部找到

使用id查询,直接走聚集索引查询,一次索引扫描,直接返回数据,性能高

如果返回的列中没有创建索引,就可能会触发回表查询,所以尽量避免使用select*

相关文章:

  • Python作用域及其应用
  • 基于大数据架构的情感分析
  • docker配置redis主从复制
  • 2-2.自动微分机制
  • 获取个人免费版Ubuntu Pro
  • [Leetcode 128][Medium] 最长连续序列
  • 004 插入排序(lua)
  • OpenSSL EVP详解
  • PolyGen: An Autoregressive Generative Model of 3D Meshes代码polygen_encoder.py解读
  • UE4_材质_水体的反射与折射制作_Ben教程
  • C#异常捕获
  • 在nginx中设置相对路径跳转的方式
  • LeetCode 子集
  • Dubbo用法示例
  • 003-GeoGebra如何无缝嵌入到PPT里
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Asm.js的简单介绍
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Docker: 容器互访的三种方式
  • Git的一些常用操作
  • GraphQL学习过程应该是这样的
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • iOS | NSProxy
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java IO学习笔记一
  • Shadow DOM 内部构造及如何构建独立组件
  • tweak 支持第三方库
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 和 || 运算
  • 京东美团研发面经
  • 力扣(LeetCode)56
  • 什么是Javascript函数节流?
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 【云吞铺子】性能抖动剖析(二)
  • AI算硅基生命吗,为什么?
  • Spring第一个helloWorld
  • ​虚拟化系列介绍(十)
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #Linux(make工具和makefile文件以及makefile语法)
  • #NOIP 2014# day.1 T2 联合权值
  • #QT(TCP网络编程-服务端)
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (6)STL算法之转换
  • (C++17) std算法之执行策略 execution
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二)WCF的Binding模型
  • (全注解开发)学习Spring-MVC的第三天
  • (三) diretfbrc详解
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .NET MVC之AOP
  • .NET 动态调用WebService + WSE + UsernameToken