MySQL慢查询优化
来源:互联网 发布:程序员的修行 编辑:程序博客网 时间:2024/05/01 03:07
本文是对一些网上资料的总结,具体涉及以下网址:
http://database.ctocio.com.cn/273/13146273.shtml
开启慢查询:
具体参考:http://blog.csdn.net/haiqiao_2010/article/details/25138099
1、配置文件方式:
Linux下编辑etc/文件夹下的my.cnf
Windows下编辑my.ini
添加以下配置信息:
- [mysqlld]
- long_query_time=2
- #5.0、5.1等版本配置如下选项
- log-slow-queries="mysql_slow_query.log"
- #5.5及以上版本配置如下选项
- slow-query-log=On
- slow_query_log_file="mysql_slow_query.log"
- log-query-not-using-indexes
2、通过MySQL自带客户端,开启慢查询日志
cmd进入bin目录下,运行 mysql -uroot -p命令
show variables like 'slow%'查看慢查询相关变量
如果变量'slow-query-log'的值是OFF,则运行
set global slow-query-log=ON
定位慢查询语句:
可以使用MySQL自带的mysqldumpslow命令,其用法如下
排序参数-s,取值有 c(按照记录次数排序)、t(按照查询的发生时间排序)、l(按照耗时排序)、r(按照结果集数目排序),ac、at、al、ar表示相应的倒序。
取前多少个-t,即 top n
正则匹配-g
分析慢查询原因:
Explain或者DESC命令
DESC命令的使用很简单,例:sql>desc select * from easy_sys_user;
Explain 待续……
优化慢查询:
1、新建索引
为了减少磁盘IO消耗,MySQL的索引存储采用B+树结构,在B+树中,如果数据项是复合结构,则最左边的是第一比较因子,如果没有给出第一比较因子的值,则会返回所有数据,即索引没有起到作用。另如果遇到的比较因子是一个范围时,它后面的所有比较因子将都用不上。
根据B+树的这种特性,要求优化慢查询建立联合索引的时候坚持最左匹配原则,即查询条件是等值查询的字段作为联合索引的第一个字段。
Explain 待续……
- Mysql慢查询优化
- MySQL慢查询优化
- MySQL慢查询优化
- mysql 慢查询 优化
- mysql 优化--定位慢查询
- mysql 优化--定位慢查询
- mysql 优化--定位慢查询
- mysql优化之慢查询
- MySQL优化之慢查询优化基础
- MySQL慢查询优化之Limit优化
- mysql in 子查询 效率慢 优化
- mysql in 子查询 效率慢 优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- Mysql数据库优化总结
- MyBatis Generator工具的使用
- soap RMI RPC WebService REST CORBA JMS这几者的区别和联系
- IM
- Eclipse程序打包
- MySQL慢查询优化
- wamp开发环境配置之配置Apache虚拟主机
- activemq的几种基本通信方式总结
- unity中Android环境的配置
- IOS开发----在iOS开发中使用FMDB
- Oracle中packages的使用
- 黑马程序员——抽象类和接口
- spring事件派发
- Xcode如何添加pch文件