mysql:高级:优化

优化SQL步骤

1、查看SQl执行频率

全局

 

 2、定位低效率执行SQL

* 慢查询日志:查询结束后来分析那一条执行效率低。

* show peocesslist:

监测到每一个客户端执行的。定位。

 3、explain分析执行计划

explain sql语句

 

sql语句的执行计划

1、环境准备

2、检测

id:相同则看table

不同则看id

 

select_type:

table:是属于那张表

type:

type为const的sql例子:

达到range就可以,最好达到ref

key 索引

possible_key

key

key_len:越短越好,越短执行效率越高

extra:额外的

using filesort : 文件排序

using temporary : 临时表保存中间结果

using index : 使用了索引

前两个要考虑优化了

 

3、show profile

mysql ver > 5.0

通过这个工具就得知道在哪耗的时间比较多

查看:

select @@have_profiling;

select @@profiling;

开启:

set profiling = 1; -- 只针对当前会话有效

show frofiles;

show frofile for query id_num;

..................................................

 

4、trace分析优化

mysql ver > 5.4

打开trace:

set optimizer_trace = "enable=on" , end_marks_in_json=on;

set optimizer_trace_max_mem_size=1000000;  -- 开启,设置日志大小

查询:

information_schema.optimizer_trace \G;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值