PHP网站有些页面打开快,有些打开非常慢,查询了很久也不知道什么原因, 不在PHP代码执行的问题,可能是mysql语句执行的问题,可以考虑检查一下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执行的状态。
explainselect * from wp_posts;
xplain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
使用方法,在select语句前加上explain就可以了:
如:
explainselect surname,first_name form a,b where a.id=b.id
以上就是在mysql查找效率慢方法的分享,希望对您有用。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!