2019独角兽企业重金招聘Python工程师标准>>>

1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配了,比如 a=3 and b=4 and c>5 and d=6 如果建立(abcd)顺序的索引,d就用不到索引了,如果建立(abdc)的索引则都可以用到索引,其中abd的顺序可以任意调整,因为查询优化器会重新编排(即使是c>5 and b=4 and d=6 and a=3也会全部用到 abdc索引 )

2.=和in可以乱序,比如a=1 and b=2 and c=3 建立(abc)索引可以任意顺序,mysql查询优化器会优化顺序

ps: 比如abc索引 那么只要查询条件有a即可用到abc索引(如abc ab ac a), 没有a就用不到。

B+tree 最左前缀匹配的成因:

先根据B+树 查找到col3的Alice叶子节点 然后再根据34/77进行其他条件筛选数据

最左前缀匹配成因:mysql 是创建复合索引的规则是根据索引最左边的字段进行排序,在第一个字段排序的基础上再进行第二个字段排序,类似于order by col1,col2… 所以第一个字段是绝对有序的 第二个字段就是无序的了,所以mysql 强调最左前缀匹配

转载于:https://my.oschina.net/pentakill/blog/3044508

mysql 面试知识点笔记(三)联合索引的最左匹配原则相关推荐

  1. 联合索引的最左匹配原则的成因

    联合索引的最左匹配原则的成因 上面我们只看的是单一的索引,接下来咱们来看看联合索引,也就是回答第二个问题.联合索引的最左匹配原则的成因.什么是联合索引呢,就是由多列组成的索引了.那亦要了解其成因,那先 ...

  2. 【实测版】联合索引,最左匹配原则,走?不走?

    本文基本基于Explain做分析,如果不太了解可以先移步下文(。・ω・。)ノ 了解MySQL的Explain,读这一篇够了( ̄∇ ̄)/ 开始✊✊✊ 建表 我们先创建一个表 CREATE TABLE ` ...

  3. mysql 面试知识点笔记(二)查询优化及索引越多越好吗?

    2019独角兽企业重金招聘Python工程师标准>>> 问:如何定位并优化慢查询SQL? 根据慢日志定位慢查询sql 使用explain等工具分析sql 使用sql或者尽量让sql走 ...

  4. mysql 面试知识点笔记(七)RR如何避免幻读及非阻塞读、范式

    2019独角兽企业重金招聘Python工程师标准>>> 表象:快照读(非阻塞读)--伪MVCC (Multi-Version Concurrent Controll多版本并发控制) ...

  5. MySQL面试知识点追命连环问(三)锁机制、日志备份及分表策略

    ​上次我们讨论了MySQL的事务索引,SQL优化和处理器. MySQL面试知识点追命连环问(二)事务.索引及SQL优化 这次我们继续来追命连环问关于MySQL锁机制,日志备份和扩展性等相关的内容. 锁 ...

  6. MySQL B+树如何实现联合索引

    MySQL B+树如何实现联合索引 "同学,你来画一下MySQL的B+树如何实现联合索引的?" "额,这个嘛--这个--俺不晓得--" 之前大言不惭说对MySQ ...

  7. MySQL数据库索引的最左匹配原则((a),(a,b),(a,b,c)都能用到索引,(a,c)呢?)

    MySQL数据库索引的最左匹配原则 一. 联合索引说明 二. 那ac是否能用到索引呢? 三. 思考 四. 最左匹配原则的成因 一. 联合索引说明 建立三个字段的联合索引 联合索引(a,b,c)相当于建 ...

  8. mysql组合索最左_MySQL组合索引和最左匹配原则

    可以看到该查询使用到了索引 EXPLAIN SELECT * FROM student WHERE id = 2 AND name = 'defghijk' and age = 8; 可以看到该查询使 ...

  9. MySQl 面试重点_2.常见的索引面试题总结

    文章目录 一, 索引定义 (排序 + 定位) 二, 索引的优缺点 三, 索引的底层数据结构 3.1 哈希表 3.2 B树 & B+树 3.2.1 B树的特点 3.2.2 B+树的特点 3.3 ...

  10. MySQL面试知识点汇总

    文章目录 数据库基础知识部分 为什么要使用数据库 什么是SQL 什么又是MySQL 数据库的三大范式是什么 Mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? ...

最新文章

  1. json数据格式 与 for in
  2. Grid平均分布自动换行
  3. php获取date前1分钟hour,php时间轴函数,刚、1分钟前、1小时前、一天前
  4. html制作滚动游戏,HTML标签marquee实现滚动效果的简单方法(必看)
  5. tplink 文件服务器,tplink云存储服务器地址
  6. 备战实习求职的一些感想(已拿阿里offer)
  7. 给我十分钟带你过完java多线程所有基础知识
  8. OCM备考 三. Managing Database Availability 之RMAN日常操作
  9. MyEclipse的Git配置
  10. OpenExpressApp架构-信息系统开发平台
  11. Python爬取百度搜索风云榜实时热点.
  12. 什么软件可以让头发变黑_头发特别干枯毛躁,请问什么方法可以让头发恢复到顺滑状态?...
  13. CMake macOS安装
  14. ❤️制作人工智能QQ机器人,视频教程+源码❤️内容超级丰富,慢慢看!
  15. 《老友记》典故集解 Season 1-10
  16. 【题解】#10246. 「一本通 6.7 练习 3」取石子
  17. android 9指纹认证_Android指纹认证教程
  18. HTML 实现仿 Windows 桌面主题特效
  19. CAJ转WORD的方法(原创方法,仅用于学习记录,免费但是很麻烦)
  20. 微信网址遮罩引导法升级版,微信自动跳转默认浏览器打开HTML

热门文章

  1. 【图像隐写】基于matlab LSB算法图像隐写提取【含Matlab源码 366期】
  2. 平安科技一轮等多久_科技正等着我们成长
  3. matlab的取数组末尾n个元素的切片方法
  4. 计算机考医学考研方向,医学考研科目都有哪些方向
  5. android 百度地图 64位,百度地图 Android SDK
  6. 数仓 调度_【数仓开发-数仓概念篇】3.3 报表vs数据可视化vs ETL
  7. 无线服务器软件,无线局域网AAA服务器的软件设计与实现
  8. windows的又一个问题
  9. 建立网络安全新生态,网络态势感知至关重要
  10. Poj 2187 旋转卡壳