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

如何调优SQL

时间:2020-01-25 20:43:38      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:ike   优化   查看   query   建立   src   解决方法   匹配   index   

以MySQL为例

如何定位并优化慢查询Sql?

联合索引的最左匹配原则的成因?

索引是建立得越多越好吗?

 

一、如何定位并优化慢查询Sql?

根据慢日志定位慢查询sql

使用explain等工具分析sql

修改sql或者尽量让sql走索引

 

查看mysql变量

SHOW VARIABLES LIKE ‘%quer%‘

 

技术图片

 

 

显示慢查询的数量

SHOW STATUS LIKE ‘%slow_queries%‘

技术图片

 

 

打开慢查询日志

SET GLOBAL slow_query_log = ON;

 

设置慢查询时间为1秒

SET GLOBAL long_query_time = 1

然后重新连接才能生效

 

慢查询实践

如下面的查询语句,查过了1秒

技术图片

 

 

然后打开慢查询日志

技术图片

 

 可以发现执行了6秒,实际上就是6秒。

 

然后使用explain

技术图片

 

explain的关键字段

当type为index或者All时,表示走的是全表扫描,这条sql是慢查询,需要优化

技术图片

 

extra字段

extra中出现以下2项意味着MYSQL根本不能使用索引,效率会受到重大影响。应尽可能对此进行优化

技术图片

 

 

解决方法:

修改sql或者尽量让sql走索引。

 

如何调优SQL

标签:ike   优化   查看   query   建立   src   解决方法   匹配   index   

原文地址:https://www.cnblogs.com/linlf03/p/12233337.html

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