如何调优SQL
以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走索引。
相关推荐
ribavnu 2020-11-16
要啥自行车一把梭 2020-11-12
vitasfly 2020-11-12
ILVNMM 2020-09-19
zycchun 2020-10-16
康慧欣 2020-09-10
liuweiq 2020-09-09
silencehgt 2020-09-07
sunnyxuebuhui 2020-09-07
西瓜皮儿的皮儿 2020-09-07
李轮清 2020-09-15
lifeison 2020-08-18
cyhgogogo 2020-08-18
minerk 2020-08-15
webliyang 2020-08-15
houdaxiami 2020-08-15
抱抱熊 2020-08-15
caodayong 2020-08-15
徐悦TechBlog 2020-08-15