文章来自:
http://blog.csdn.net/hzy38324/article/category/3068221
show variables like 'long_query_time' 查询 慢查询 的时间
set global long_query_time=10000; 更改 慢查询 的时间
show variables like 'slow%'; 查询 慢查询的日志记录情况
set global slow_query_log=ON; 开启 慢查询的日志记录
日志在mysql安装目录的data下 计算机名+“-slow”
Explain的作用是生成一个QEP(查询执行计划),可以帮助我们在不真正执行某个sql语句时,就看到mysql怎样执行,这样方便我们去分析sql指令的好坏。
执行如下语句
- Explain select * from emp where empno = 3333\G
对于返回的信息,我们主要关心一下几个
1) Type
ALL全表扫描,通常是不好的,其他的如index、range、const、ref、system则是较好的
2) Possible_keys
可能被用到的索引
3) Key
查询过程中实际使用的索引,当为null时表示没有使用索引,通常是不好的
4) key_len
索引字段最大可能使用的长度,也叫索引基数。索引基数越大,表明可能查找的行数越多,查询效率越慢。
5) Rows
MySQL 估计的需要扫描的行数。只是一个估计。越多表明查找的行数越多,自然越慢。
6) Extra
显示上述信息之外的其它信息,非常重要。其主要有一下返回结果。
Usingindex
表明此查询使用了覆盖索引(CoveringIndex),即通过索引就能返回结果,无需访问表。(覆盖索引是一种非常优秀的索引,其使用见http://blog.csdn.net/hzy38324/article/details/44857721)
若没显示"Usingindex"表示读取了表数据。
Usingindex condition
可能会使用索引
Usingwhere
表示 MySQL 服务器先读取整行数据,再检查此行是否符合 where 句的条件,符合就留下,不符合便丢弃。效率较慢。
Usingfilesort
表示Mysql会按查询所需的顺序对结果进行排序,这时就会出现 Usingfilesort 。排序自然会增加查询时间,导致效率变慢。解决方法是利用索引进行排序。若查询所需的排序与使用的索引的排序一致,因为索引是已排序的,因此按索引的顺序读取结果返回,此时就不会出现Using filesort。
关于“Using index” 和 “Using index condition”的区别,笔者参考了一下stackoverflow上的一篇文章
http://stackoverflow.com/questions/1687548/mysql-explain-using-index-vs-using-index-condition
里面是这么解释的
简单的说
Using index就是一定使用索引,这种索引成为覆盖索引,Using index condition则是在必要的时候才使用索引
怎样才能让Usingindex condition变成Using index,答案自然是创建一个覆盖索引,同样,笔者将会在之后章节介绍覆盖索引如何创建。
相关推荐
前一阶段,做一个项目,使用到了mysql,工作之余,顺便收集了一些资料,对mysql初学者,或对此有一点兴趣的同仁有点帮助。
MySQL学习笔记
个人推荐mysql学习资料, 很不错,好东西不但要珍藏,还要分享
Mysql学习笔记1
MySQL学习资源总贴MySQL学习资源总贴MySQL学习资源总贴
机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习...
mysql学习用数据库dbt3
数据库mysql学习脑图,对于学习mysql的朋友们会起到一定的帮助!
MySQL学习文档! saivicky出品!必属精品!
MYSQL学习与实验,有具体步骤,还不错
mysql学习笔记mysql学习笔记mysql学习笔记mysql学习笔记
MySQL Proxy应用入门 1 安装MySQL Proxy MySQL Proxy应用入门 2 MySQL Proxy配置选项 MySQL Proxy应用入门 3 使用MySQL Proxy MySQL UDF Mysql Proxy安装配置测 MySQL5 5 Semi synchronous Replication(半同步复制...
MySQL最全学习线路图 超级详细版
MySQL必知必会.pdf 高性能MySQL(第3版).pdf MySQL 技术内幕:InnoDB存储引擎.pdf
观看b站:《老杜带你学_mysql入门基础》,所做的随堂笔记,杜老师讲的十分通俗易懂,respect!
mysql命令集锦,mysql基础命令集合,让你快速上手myslq
MySQL学习基础(1)
mysql学习资源以及使用说明等
mysql学习笔记
描述mysql基本命令,适合初学者学习,讲解详细,通俗易懂