测试文件:导入:资料\课件SQL脚本
四种方法定位执行速度慢的SQL:
1、通过用户或甲方反馈,根据开发人员的经验进行定位;(小公司常用方法;要求开发人员对项目非常了解,否则可能很难定位到问题根源;)
2、使用可视化监控工具进行监控;(比如阿里巴巴的德鲁伊连接池可视化监控界面)
3、自己编写AOP动态代理对程序中的SQL运行时间进行统计;
4、通过慢查询日志对SQL进行分析;(MySql数据库中慢查询日志默认是关闭的。需要手动开启;开启后会增加数据库压力;)
慢查询日志
概述:
如何使用:
查看是否开启慢查询日志
show variables like '%slow_query_log%'
开启
set global slow_query_log=1;
只对当前数据库生效,如果重启后,则会失效
如果想永久生效,必须修改配置文件
slow_query_log=1
slow_query_log_file=地址
设置慢查询的阀值
show variables like 'long_query_time'
# set global long_query