一个在线运行的网站,怎么查看哪条sql语句是否需要优化

比如说 一个在线上运行的网站,发现某个页面加载很慢,怎么查看哪条sql语句是否要优化

阅读 5.1k
6 个回答

慢查询日志呀。

查看日志 找出对应的sql desc或者explain select.......(你的sql语句) 查看效率,或者直接将执行效率写到日志内

mysql的配置里边开启 慢查询slow_query_log 和 没有索引的语句log_queries_not_using_indexes。可以用explain + sql语句来查看sql的执行效率。

程序里边也要注意是否可以优化。别把数据库查询放在循环里。

建议封装一个debug类,针对api,redis,memcache,mysql,mongo等服务的操作信息push到数组中,在线上通过指定的参数比如debug来开启显示,我们就是这样来查线上问题的,不过要记住开启debug的参数一定要加内网判断,不是公司的网络如果是公网的话这个参数一定得禁止掉,
关于mysql慢的问题 要用explain+sql语句分析

有没有使用框架?你可以监控每一条SQL的运行时间。并记录日志,一一分析 。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题