以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可能就是慢查询