MySQL中联合索引问题,
经常被问到,如果创建一个联合索引(a,b,c),那么那些查询会用到索引。
首先,创建这个联合索引相当于创建了a,(a,b),(a,b,c)三个索引,且=可以乱序。
问的比较多的是(a,c),(b,c),b这种查询是否会用到索引。我自己试了一下,具体是否用到是分情况的,这种情况就是是否是覆盖索引。
首先创建的数据库如下:
建立的索引如下:
查询如下:
此时我们看到是没有用到索引的。但是再看下边的情况:
这种查询就用到了索引,但其实也是对全表的一种扫描,因为索引表的数据量是和全表数据量相同的,因为查询的是索引里边的字段a,不需要再回表进行查询。
explain select * from test where a=1 and c=0
explain select b from test where a=1 and c=0
这两个语句也是同样的结果。切记注意两个语句的区别,这也是做sql查询优化的一个手段。
参考
MySQL中联合索引问题,相关推荐
- mysql中联合索引abc 使用bac_mysql 联合索引
mysql 联合索引详解 联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). ...
- mysql5.6 函数索引_聊聊MySQL中的索引
关于MySQL中的索引使用 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题. 索引的存储分类: 1.B-Tree索引:最常见的索引类型,大部分引擎都支 ...
- MySQL中的索引详讲
转载自 https://www.cnblogs.com/whgk/p/6179612.html 序言 之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下 ...
- 2.MySQL中的索引
索引就像树的目录,是为了更快的找到所要找的内容(数据).MySQL中,索引是在存储引擎层实现的,不同的存储引擎有不同的索引模型,如innodb是采用的是B+树的索引模型,本篇主要以innodb存储引擎 ...
- mysql之联合索引
mysql之联合索引测试: 前期准备: 建立联合索引? CREATE TABLE `test` (`id` bigint(16) NOT NULL AUTO_INCREMENT,`aaa` varch ...
- MySQL性能调优与设计——MySQL中的索引
MySQL中的索引 InnoDB存储引擎支持以下几种常见索引:B+树索引.全文索引.哈希索引,其中比较关键的是B+树索引. B+树索引 InnoDB中的索引自然也是按照B+树来组织的,B+树的叶子节点 ...
- MySQL 中的索引
索引介绍 索引是一种能提高数据库查询效率的数据结构,比作一本字典的目录,可以快速找到对应的记录 索引一般存储在磁盘的文件中,它是占用物理空间的 适当的索引能提高查询效率,过多的索引会影响数据库表的插入 ...
- mysql中组合索引创建的原则是什么意思_面试前必须要掌握的MySQL索引最左前缀匹配原则...
在面试中,经常会遇到这种问题,如果我们设置联合索引的顺序是(a, b, c), 那么如果我们在查询时的顺序却是(a, c, b) 会走索引吗?这个问题被问到的频率之高,令人乍舌,在这篇文章中,我们就深 ...
- mysql建立联合索引_mysql之联合索引
mysql之联合索引测试: 前期准备: 建立联合索引? CREATE TABLE `test` ( `id` bigint(16) NOT NULL AUTO_INCREMENT, `aaa` var ...
最新文章
- 华为鸿蒙2.0打游戏,网友Mate X2升级鸿蒙2.0:部分游戏体验比EMUI更好 功耗却更低...
- Flutter环境搭建(Windows)
- 第3章 文件IO | 001 文件描述符
- 【C++ 学习笔记】 MFC CEdit
- 全球六大国际域名解析量统计报告(6月25日)
- 1.7编程基础之字符串_04石头剪子布
- HDFS概述和设计目标
- ios布局 分为左右两块_安卓手机一年后卡顿,原因是安卓系统太开放了,改走iOS封闭之路...
- 数据分析之处理丢失数据
- JAVA-Hibernate-SQL类型映射表及Hibernate标识生成策略
- sqlmap入门使用教程
- 张宇1000题高等数学 第四章 一元函数微分学的计算
- w10打游戏老是弹出计算机,win10游戏频繁弹回桌面怎么办_win10玩游戏总切回桌面的解决方法-系统城...
- gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
- 北京胜新疆夺CBA总冠军 苏群:广东依旧实力最强
- 4245. 【五校联考6day2】er
- 信创操作系统--麒麟Kylin桌面版 (项目三 控制中心:账户、自定义、个性化、声音、日期、电源管理、网络、输入法、系统更新等设置)
- C++基础之什么是面向对象
- 手机版云盘怎么打开连接服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...
- AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets
热门文章
- http://windowsandroid.cn.uptodown.com/download
- 关于安装Python过程中 无法访问Windows Installer服务问题解决
- 十分钟了解物联网主流通信协议
- “常量中有换行符”的解决方法
- 修改Samba服务的监听端口
- padStart 和 padEnd的使用
- CSS中的overflow,
- Python 实现文本共现网络分析
- 基于Canal+kafka监听数据库变化的最佳实践
- TransTrack: Multiple Object Tracking with Transformer