教您在mysql查找效率慢的SQL语句


  本文标签:mysql查找

  如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,下面就教您在mysql查找效率慢的SQL语句的方法,供您参考学习  。

  启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_time秒的sql

  MySQL 自带 slow log 的分析工具 mysqldumpslow  。
slow log 是 MySQL 根据 SQL 语句的执行时间设定,写入的一个文件,用于分析执行较慢的语句  。

  只要在 my.cnf 文件中配置好:
log-slow-queries = [slow_query_log_filename]
即可记录超过默认的 10s 执行时间的 SQL 语句  。
如果要修改默认设置,可以添加:
long_query_time = 5
设定为 5s   。

  /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock --log-slow-queries=/var/log/mysql/slow.log

  explain来了解SQL执行的状态  。
explain select * from wp_posts\G;

  explain显示了mysql如何使用索引来处理select语句以及连接表  。可以帮助选择更好的索引和写出更优化的查询语句  。

  使用方法,在select语句前加上explain就可以了:

  如:explain select surname,first_name form a,b where a.id=b.id

  以上就是在mysql查找效率慢的SQL语句的方法介绍  。