码迷,mamicode.com
首页 > 数据库 > 详细

mysql的索引失效

时间:2018-07-24 12:27:48      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:中间   blog   失效   file   cee   需要   none   vpd   username   

一、成功的索引优化

1.表数据如下:
技术分享图片

技术分享图片

2.查询语句如下:

explain select id, age, level from employee where dpId = 1 and age = 30 order by level
技术分享图片

Extra: Using where; Using filesort

出现了Using filesort需要进行优化。方法很简单,为查询,分组排序的字段建索引即可。

3.建索引优化:

create index idx_employee_dla on employee(dpId, age, level)

技术分享图片

再次查询结果如下,type为ref,使用到了索引key,Extra为Using Where; Using index,优化成功:

技术分享图片

二、跳过中间索引,使索引失效

技术分享图片

索引的顺序为 id, dpId,age,level,查询时跳过age索引或使用>,<,<>,!=条件查询age索引

技术分享图片
技术分享图片
Extra出现Using filesort,索引失效,需要优化。

三、查询字段加入非索引字段,使索引失效

userName为非索引字段,当查询userName字段时,Extra为:Using index condition
技术分享图片

四、使用>, <, <>, != 使索引失效



mysql的索引失效

标签:中间   blog   失效   file   cee   需要   none   vpd   username   

原文地址:http://blog.51cto.com/12874079/2149404

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!