Mysql中的联合索引、前缀索引、覆盖索引
Mysql中的联合索引、前缀索引、覆盖索引
索引
索引是一种特殊的文件,它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
联合索引
又名复合索引,由两个或多个列的索引。它规定了mysql从左到右地使用索引字段,对字段的顺序有一定要求。一个查询可以只使用索引中的一部分,更准确地说是最左侧部分(最左优先)。如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。
CREATE TABLE test(a INT, b INT, c INT, KEY(a, b, c));
前缀索引
对于列的值较长,比如BLOB、TEXT、VARCHAR,就必须建立前缀索引,即将值的前一部分作为索引。这样既可以节约空间,又可以提高查询效率。但无法使用前缀索引做 ORDER BY 和 GROUP BY,也无法使用前缀索引做覆盖扫描。
# 语法ALTER TABLE table_name ADD KEY(column_name(prefix_length));# 示例ALTER TABLE city ADD KEY(cityname(7))
覆盖索引
跟联合索引有点类似,就是在查询t的时候只用去读取索引而取得数据,无需进行二次查询相关表。这样的索引的叶子节点上面也包含了他们索引的数据。
判断标准:使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询。
Mysql中的联合索引、前缀索引、覆盖索引相关推荐
- 【MySQL】索引优化中的最左前缀原则和索引下推
目录 一.引入 二.覆盖索引 讲接下来的问题前首先讲一下联合索引的底层存储结构长什么样?联合索引的检索过程是什么样的呢? 三.最左前缀原则 最左前缀原则的定义 四.索引下推 五.小结 一.引入 在 ...
- MySQL中的联合索引学习教程
MySQL中的联合索引学习教程 这篇文章主要介绍了MySQL中的联合索引学习教程,其中谈到了联合索引对排序的优化等知识点,需要的朋友可以参考下 联合索引又叫复合索引.对于复合索引:Mysql从左到右的 ...
- 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...
- 其实 MySQL 中的 like 关键字也能用索引
上篇文章中,松哥和大家分享了索引的两个使用规则: 索引上不要使用函数运算. 使用覆盖索引避免回表. 当然,凡事有个度,用哪一种策略也要结合具体的项目来定,不能为了 SQL 优化而抛弃了业务. 今天,松 ...
- Mysql中主键和外键和索引
Mysql中主键和外键和索引 1.主键和外键是什么 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是 ...
- mysql索引篇之覆盖索引、联合索引、索引下推
覆盖索引 在之前<mysql索引初识>这篇文章中提到过,mysql的innodb引擎通过搜索树方式实现索引,索引类型分为主键索引和二级索引(非主键索引),主键索引树中,叶子结点保存着主键即 ...
- MySQL中的联合索引
联合索引:也叫复合索引,指对表上的两个或两个以上的列字段进行索引.Mysql从左到右使用索引中的字段,一个查询可以只使用索引中的一部分,但只能是最左侧部分.例如索引是key index (a,b,c) ...
- SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引
我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我 ...
- MySQL中会用到age字段的索引_MySQL学习笔记(四):正确使用索引(二)
上一篇学习到了MySQL中的索引是什么,以及一些关于索引的简单的知识,这篇我打算详细地谈一谈如何正确地使用索引.索引的使用看起来很简单,但是在真正去学习它的时候才发现,原来是暗藏玄机.使用索引时有很多 ...
最新文章
- Spring Boot 搭载属于你的网站框架(一)
- 小白开学Asp.Net Core 《七》
- y电容如何选型_干式试验变压器选型依据
- 基于spring注解AOP的异常处理
- 【java】java 新一代垃圾回收器ZGC的探索与实践
- python_程序格式_缩进_行注释_段注释---python工作笔记012
- 做成熟的人,做高效能的人
- sublime text_Sublime Text Editor赠品报告和获胜者
- python通过身份证或出生日期获取年龄
- 新浪云HTML播放音乐,音乐播放器-html代码
- 蓝牙变成“未知USB设备”的解决方法
- jupyter 阿里云服务器配置 远程连接 开机自动启动服务
- python多线程网易云歌单
- 软件编程:常见缩写、简称
- 【SRE笔记 2022.9.21 网络及TCP握手】
- 最小生成树 解释 + 板子题
- Devops 工具集
- 汶川地震死亡人数5月26日消息
- 20140916阿里巴巴面试经历---成都站
- Mac电脑解决Google翻译失效实用方法