当前位置: 首页 > news >正文

上海做网站汉狮网络网络工程师

上海做网站汉狮网络,网络工程师,宁波做网站首推荣盛网络,怎么让别人访问自己做的网站对mysql联合索引的认识 文章目录 对mysql联合索引的认识最左原则匹配一、最左匹配的原理?二、实战 最左原则匹配 所谓最左原则指的就是如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配&#xff…

对mysql联合索引的认识


文章目录

  • 对mysql联合索引的认识
  • 最左原则匹配
  • 一、最左匹配的原理?
  • 二、实战


最左原则匹配

所谓最左原则指的就是如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配,值得注意的是,当遇到范围查询(>、<、between、like)就会停止匹配。


一、最左匹配的原理?

最左匹配原则,在遇到范围查询的时候,就会停止匹配。

二、实战

题型一
如果sql为

SELECT * FROM table WHERE a = 1 and b = 2 and c = 3;

如何建立索引?

如果此题回答为对(a,b,c)建立索引,片面了。 此题正确答法是,(a,b,c)或者(c,b,a)或者(b,a,c)都可以,重点要的是将区分度高的字段放在前面,区分度低的字段放后面。像性别、状态这种字段区分度就很低,我们一般放后面。

例如假设区分度由大到小为b,a,c。那么我们就对(b,a,c)建立索引。在执行sql的时候,优化器会 帮我们调整where后a,b,c的顺序,让我们用上索引。

题型二
如果sql为

SELECT * FROM table WHERE a > 1 and b = 2;

如何建立索引?

如果此题回答为对(a,b)建立索引,那都可以回去等通知了。 此题正确答法是,对(b,a)建立索引。如果你建立的是(a,b)索引,那么只有a字段能用得上索引,毕竟最左匹配原则遇到范围查询就停止匹配。 如果对(b,a)建立索引那么两个字段都能用上,优化器会帮我们调整where后a,b的顺序,让我们用上索引。

题型三
如果sql为

SELECT * FROM `table` WHERE a > 1 and b = 2 and c > 3;

如何建立索引? 此题回答也是不一定,(b,a)或者(b,c)都可以,要结合具体情况具体分析。

拓展一下

SELECT * FROM `table` WHERE a = 1 and b = 2 and c > 3;

怎么建索引?嗯,大家一定都懂了!

题型四
SELECT * FROM table WHERE a = 1 ORDER BY b;
如何建立索引? 这还需要想?一看就是对(a,b)建索引,当a = 1的时候,b相对有序,可以避免再次排序! 那么

SELECT * FROM `table` WHERE a > 1 ORDER BY b;

如何建立索引? 对(a)建立索引,因为a的值是一个范围,这个范围内b值是无序的,没有必要对(a,b)建立索引。

拓展一下

SELECT * FROM `table` WHERE a = 1 AND b = 2 AND c > 3 ORDER BY c;

怎么建索引?

题型五

SELECT * FROM `table` WHERE a IN (1,2,3) and b > 1;

如何建立索引?

还是对(a,b)建立索引,因为IN在这里可以视为等值引用,不会中止索引匹配,所以还是(a,b)!
拓展一下

SELECT * FROM `table` WHERE a = 1 AND b IN (1,2,3) AND c > 3 ORDER BY c;

如何建立索引?此时c排序是用不到索引的。

**问题4:
如果a字段或者b字段区分度高的话,可以考虑建立(a,b,c)或者(b,a,c)索引
因为abc索引在 a = 1 AND b = 2 的条件下C肯定是已经排序好的
题目5:
可以考虑(a,b,c)索引
我在本地测试过了 5.7版本的mysql,是可以用到c的
**

引用:https://zhuanlan.zhihu.com/p/115778804

http://www.zhongyajixie.com/news/7914.html

相关文章:

  • wordpress手机号登录新乡seo外包
  • 网站策划案怎么做网站推广与优化方案
  • wordpress文章图片显示不出来seo网站推广与优化方案
  • 童子营网站建设方案爱站网长尾关键词
  • 如何用凡科建设手机教学网站网上国网推广
  • 做面膜的网站教育培训机构营销方案
  • 做网站官网好处海淀区seo多少钱
  • golang网站开发今日头条荆州新闻
  • 青海兴远建设工程有限公司网站品牌推广平台
  • 色轮 网站关键词优化排名软件流量词
  • 旅游网站建设导航栏视频推广渠道有哪些
  • 个体户可以做企业网站西安做网站公司
  • 丽江市网站建设app开发公司有哪些
  • 做代刷主站网站搜索引擎提交入口大全
  • 商城微信公众号开发seo排名软件怎么做
  • 在线做任务的网站互联网营销师培训机构哪家好
  • 建站行业的利润创建自己的网站怎么弄
  • 自适应网站模板信息流广告投放公司
  • 厂房装修东莞网站建设老司机们用的关键词有哪些
  • 怎样用ps做网站首页图专业营销团队外包公司
  • wordpress制作电商网站微友圈推广平台怎么加入
  • 淘宝店铺代运营靠谱吗成都seo
  • 网站建设 沈阳百度一下百度
  • 微信短网址在线生成嘉兴seo外包平台
  • 网上做批发有哪些网站有哪些百度扫一扫
  • 漳州网站建设公司推荐郑州seo线上推广技术
  • 做网站广州个人网页制作完整教程
  • 天津设计网站公司百度权重查询网址
  • 学校网站建设主体品牌软文案例
  • 杭州做网站模板文员短期电脑培训