经常被问到,如果创建一个联合索引(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中联合索引问题,相关推荐

  1. mysql中联合索引abc 使用bac_mysql 联合索引

    mysql 联合索引详解 联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). ...

  2. mysql5.6 函数索引_聊聊MySQL中的索引

    关于MySQL中的索引使用 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题. 索引的存储分类: 1.B-Tree索引:最常见的索引类型,大部分引擎都支 ...

  3. MySQL中的索引详讲

    转载自 https://www.cnblogs.com/whgk/p/6179612.html 序言 之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下 ...

  4. 2.MySQL中的索引

    索引就像树的目录,是为了更快的找到所要找的内容(数据).MySQL中,索引是在存储引擎层实现的,不同的存储引擎有不同的索引模型,如innodb是采用的是B+树的索引模型,本篇主要以innodb存储引擎 ...

  5. mysql之联合索引

    mysql之联合索引测试: 前期准备: 建立联合索引? CREATE TABLE `test` (`id` bigint(16) NOT NULL AUTO_INCREMENT,`aaa` varch ...

  6. MySQL性能调优与设计——MySQL中的索引

    MySQL中的索引 InnoDB存储引擎支持以下几种常见索引:B+树索引.全文索引.哈希索引,其中比较关键的是B+树索引. B+树索引 InnoDB中的索引自然也是按照B+树来组织的,B+树的叶子节点 ...

  7. MySQL 中的索引

    索引介绍 索引是一种能提高数据库查询效率的数据结构,比作一本字典的目录,可以快速找到对应的记录 索引一般存储在磁盘的文件中,它是占用物理空间的 适当的索引能提高查询效率,过多的索引会影响数据库表的插入 ...

  8. mysql中组合索引创建的原则是什么意思_面试前必须要掌握的MySQL索引最左前缀匹配原则...

    在面试中,经常会遇到这种问题,如果我们设置联合索引的顺序是(a, b, c), 那么如果我们在查询时的顺序却是(a, c, b) 会走索引吗?这个问题被问到的频率之高,令人乍舌,在这篇文章中,我们就深 ...

  9. mysql建立联合索引_mysql之联合索引

    mysql之联合索引测试: 前期准备: 建立联合索引? CREATE TABLE `test` ( `id` bigint(16) NOT NULL AUTO_INCREMENT, `aaa` var ...

最新文章

  1. 华为鸿蒙2.0打游戏,网友Mate X2升级鸿蒙2.0:部分游戏体验比EMUI更好 功耗却更低...
  2. Flutter环境搭建(Windows)
  3. 第3章 文件IO | 001 文件描述符
  4. 【C++ 学习笔记】 MFC CEdit
  5. 全球六大国际域名解析量统计报告(6月25日)
  6. 1.7编程基础之字符串_04石头剪子布
  7. HDFS概述和设计目标
  8. ios布局 分为左右两块_安卓手机一年后卡顿,原因是安卓系统太开放了,改走iOS封闭之路...
  9. 数据分析之处理丢失数据
  10. JAVA-Hibernate-SQL类型映射表及Hibernate标识生成策略
  11. sqlmap入门使用教程
  12. 张宇1000题高等数学 第四章 一元函数微分学的计算
  13. w10打游戏老是弹出计算机,win10游戏频繁弹回桌面怎么办_win10玩游戏总切回桌面的解决方法-系统城...
  14. gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
  15. 北京胜新疆夺CBA总冠军 苏群:广东依旧实力最强
  16. 4245. 【五校联考6day2】er
  17. 信创操作系统--麒麟Kylin桌面版 (项目三 控制中心:账户、自定义、个性化、声音、日期、电源管理、网络、输入法、系统更新等设置)
  18. C++基础之什么是面向对象
  19. 手机版云盘怎么打开连接服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...
  20. AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets

热门文章

  1. http://windowsandroid.cn.uptodown.com/download
  2. 关于安装Python过程中 无法访问Windows Installer服务问题解决
  3. 十分钟了解物联网主流通信协议
  4. “常量中有换行符”的解决方法
  5. 修改Samba服务的监听端口
  6. padStart 和 padEnd的使用
  7. CSS中的overflow,
  8. Python 实现文本共现网络分析
  9. 基于Canal+kafka监听数据库变化的最佳实践
  10. TransTrack: Multiple Object Tracking with Transformer