mysql 调优经历

1、查看语句是否有用到索引

  使用explain select  * from tbl_cc_ope op where op.type='SD' and op.status='0' and op.op_time='20191126' \G;

在explain表格中,可以发现对应的type如果是ALL,那么就表示没有用到索引。

误区:explain中有一列key_len,在调优前,认为ken_len 长度越长越好,实际不是这样, 并不是越长越好,不然这个规则也太简单了。

key_len的长度计算公式,可以参考这篇文章,https://blog.csdn.net/u011514729/article/details/79550462   简单易懂

2、获得sql分析器,调优之后的sql语句。

使用explain extended select  * from tbl_cc_ope op where op.type='SD' and op.status='0' and op.op_time='20191126' \G;

执行之后,会打印warnings,

然后执行 show warnings \G;

得出的结果就是优化的sql语句,但千万不要认为它是最终的语句。 

3、最终收获,当遇到大数据量时,索引一定得少并且准确。如果表容量够大,尽量使用分表,删除无用数据,应用进行优化。过多关注sql语句优化,并不能获得更好的效果。

 

添加一个很有指导意见的博客,可以参考参考。

https://www.cnblogs.com/tangyanbo/p/4462734.html

 

 

 

你可能感兴趣的:(mysql)