MySQL 索引失效及使用索引的优缺点

栏目: 数据库 · 发布时间: 6年前

内容简介:本文所有实验基于MySQL5.7.21,实验将会用到Explain工具,不了解的同学可参考此文章:联合索引失效先创建一个包含三个字段的联合索引,索引顺序如下:

本文所有实验基于 MySQL 5.7.21,实验将会用到Explain工具,不了解的同学可参考此文章: MySQL性能优化神器Explain详解

联合索引失效

先创建一个包含三个字段的联合索引,索引顺序如下:

MySQL 索引失效及使用索引的优缺点

由以下三张图的key_len字段我们可以得出三个索引的长度分别为:title长303,author长122,price长5.

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

联合索引使用时遵循最左匹配原则,如果不是从最左列开始时,整个索引失效,如果最左匹配则依次往右使用索引,直到碰到不匹配的地方之后生效之前匹配到的索引

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

范围查询会引起索引失效

为以上联合索引更换字段顺序为title,price,author。如果查询时包含范围查询则范围字段后面的字段失效

MySQL 索引失效及使用索引的优缺点

like查询失效

使用模糊查询时,%只有在最右方的时候才能生效

为title设置一个单独的索引

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

查询中含有不等于或者or则索引不生效

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

在索引列上做计算或函数导致失效

删除刚才创建的联合索引,为price字段创建一个单独的索引

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

字符串类型不加引号同样会失效

MySQL 索引失效及使用索引的优缺点

is null和 is not null

为title字段创建一个单独的索引

MySQL 索引失效及使用索引的优缺点

MySQL 索引失效及使用索引的优缺点

注意事项

在进行索引使用测试时,可能会因为测试数据太少从而MySQL会认为查询语句走全表扫描比走索引更有效,所以会自动去除索引,为避免测试结果误导可使用如下方式强制MySQL使用索引

explain select * from book FORCE index(索引名称) where price=1+1;

使用索引的优点

  • 唯一索引或主键索引可以保证数据库表的唯一性

  • 可以提高查询效率和性能

  • 加速表连接的速度

  • 加快 排序 的效率

使用索引的缺点

  • 每次更新修改删除都需要维护索引、从而消耗性能

  • 索引文件会占用物理空间

MySQL 索引失效及使用索引的优缺点

万水千山总是情,点个 “在看” 行不行!!!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站转换率优化之道

网站转换率优化之道

[美] Khalid Saleh、[美] Ayat Shukairy / 顾 毅 / 人民邮电出版社 / 2012-4 / 45.00元

内容简介: 怎样才能将访问者转化为顾客? 本书提供了一些切实可行的建议,比如如何说服访问者作出购买决定,如何避免用户因信息过量或导航繁琐而离开网站等。不论你是在设计或营销大型电子商务网站,还是在管理中小型在线业务,都可以从本书学会怎样使用市场营销原则、设计方法、可用性原则和分析数据来持续提升网站的转换率。 作者帮助过众多公司吸引在线顾客,有着丰富的实战经验,在书中细致讨论了从访问......一起来看看 《网站转换率优化之道》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具