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*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/863325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git企业开发---初识Git

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 引言 不知道大家有没有经历这种困惑,当我们要去交某文档时,总是要进行修改,修改后再交…

Softmax函数的作用

Softmax 函数主要用于多类别分类问题,它将输入的数值转换为概率分布。 具体来说,对于给定的输入向量 x [x_1, x_2,..., x_n] ,Softmax 函数的输出为 y [y_1, y_2,..., y_n] ,其中: 这样,Softmax 函数的输…

人生最有力,最棒的十句话!

人生最有力,最棒的十句话 1、允许一切事发生,所有一切发生的事不是你能阻挡了的,你接受,他也发生,你不接受,他也发生,你还不如坦然面对接受现实。 2、你焦虑的时候千万不要躺着啥也不干&#xf…

全网唯一免费无水印AI视频工具!

最近Morph Studio开始免费公测!支持高清画质,可以上传语音,同步口型,最重要的是生成的视频没有水印! Morph Studio国内就可以访问,可以使用国内邮箱注册(我用的163邮箱),…

Java--回顾方法的调用

1.静态方法与非静态方法 1.当二者皆为静态方式时,可直接类名.方法名调用其方法 2.当调用的方法是静态,被调用的方法为非静态时,调用将会报错 3.出现2情况可通过进行实例化这个类的方式进行调用,如图所示 4.当处于一个类下&#xf…

安卓开发中margin和padding的区别

在 Android 开发中,margin 和 padding 都是用来定义视图(View)的空间属性,但它们的作用和应用场景有所不同: Margin(外边距): Margin 是视图与其他视图之间的空间。它定义了视图之间…

在IDEA中创建Maven项目

2023版IDEA创建Maven项目(新版) 1.打开IDEA,点击 文件 -> 新建 -> 项目 2.创建Maven项目 3.编写java文件并运行 在src -> java -> 创建一个java文件并运行 如果出现下图 解决办法: 2022版IDEA创建Maven项目&#xf…

GitHub每日最火火火项目(6.29)

1. 项目名称:modelscope / DiffSynth - Studio 项目介绍:该项目能让用户享受扩散模型的神奇之处。扩散模型是一种强大的机器学习技术,在图像生成、音频合成等领域有广泛应用。通过这个项目,用户可以体验到扩散模型带来的创新和有…

判断时间序列中的元素是否为:年初、年末、季初、季末

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 判断时间序列中的元素是否为: 年初、年末、季初、季末 Series.dt.is_year_start Series.dt.is_year_end Series.dt.is_quarter_start Series.dt.is_quarter_end 选择题 关于以下…

SonarQube面试题一卷到底60问及参考答案(3万字长文)

目录 什么是SonarQube?简述其主要功能。 SonarQube中的“分析”过程包括哪几个阶段? 请解释SonarQube中的质量gate(质量门)概念。 SonarQube支持哪些编程语言? 什么是技术债务,并如何在SonarQube中计算它? 描述SonarQube的工作流程,从代码扫描到问题展示。 Sona…

J018_冒泡排序

一、排序过程 如果要对一个数组进行升序排序: 每个轮次两两数字进行比较,如果前面的数字大于后面的数字,则交换两个数字的位置;如果前面的数字小于或等于后面的数字,则这两个数字位置不变。直到把数组中所有数字比较…

Attention (注意力机制)

1. 背景: 字面的意思:给你一些东西(看见一个美女:).....),你会注意什么? 大数据的时代下,有太多的数据,我们又该如何选择重要的数据呢? Attention 诞生了,但是又该如何去做呢(i.e., …

【计算机网络】期末复习(1)模拟卷

一、选择题 1. 电路交换的三个阶段是建立连接、()和释放连接 A. Hello包探测 B. 通信 C. 二次握手 D. 总线连接 2. 一下哪个协议不属于C/S模式() A. SNMP…

武汉星起航:亚马逊欧洲站潮流指南,满足年轻人选品需求

在充满活力的20-30岁年龄段,年轻人们充满朝气,追求时尚与品质,对生活充满无限期待。亚马逊欧洲站作为全球领先的电商平台,为这一年龄段的人群提供了丰富多样的商品选择。武汉星起航将为您介绍亚马逊欧洲站针对20-30岁人群的选品攻…

myCrayon个人博客项目基于springBoot+Vue全栈开发

目录 项目介绍 简介 项目架构 项目模块组成 数据库设计 项目展示 首页 用户登录与注册 个人信息模块 商城展示 博客模块 博客浏览 博客发布与编辑 博客搜索 社区模块 新闻模块 后台管理系统 部署方式 结语 项目介绍 简介 项目类似于CSDN,支持所…

2024年4家HTTP代理服务商网站最新测评

一、芝麻HTTP芝麻HTTP作为代理服务领域的佼佼者,其HTTP代理服务同样表现出色。凭借海量IP资源和高效稳定的性能,芝麻HTTP为用户提供了卓越的代理服务体验。 特点与优势 ① 海量IP资源:拥有庞大的代理IP池,确保用户能够随时获取到…

PostgreSQL 高级功能(五)

1. 存储过程与函数 1.1 创建存储过程 存储过程是一组预编译的SQL语句,可以简化复杂的操作。以下是一个简单的存储过程示例: CREATE OR REPLACE FUNCTION add_user(username VARCHAR, email VARCHAR) RETURNS VOID AS $$ BEGININSERT INTO users (use…

Django 自定义标签

1,简单标签 1.1 添加自定义标签函数 Test/app5/templatetags/mytags.py from django import template register template.Library() register.simple_tag() def show_title(value, n):if len(value) > n:return f{value[:n]}...else:return value 1.2 添加视…

C++中栈内存和堆内存的区别--实例说明

在C中,栈内存和堆内存是两种不同的内存分配方式。它们有着不同的使用场景和管理方式。以下是它们的主要区别: 栈内存(Stack Memory): 栈内存是由编译器自动分配和释放的内存区域,用于存储函数的局部变量和函…

Typora failed to export as pdf. undefined

变换版本并没有用,调整图片大小没有用 我看到一个博客后尝试出方案 我的方法 解决:从上图中的A4,变为其他,然后变回A4 然后到处成功,Amazing! 参考: Typora 导出PDF 报错 failed to export…