教您在mysql查找效率慢的SQL語句
如何在mysql查找效率慢的SQL語句呢?這可能是困然很多人的一個問題,下面就教您在mysql查找效率慢的SQL語句的方法,供您參考學習。
啟動Mysql時加參數--log-slow-queries來記錄執(zhí)行時間超過long_query_time秒的sql
MySQL 自帶 slow log 的分析工具 mysqldumpslow。
slow log 是 MySQL 根據 SQL 語句的執(zhí)行時間設定,寫入的一個文件,用于分析執(zhí)行較慢的語句。
只要在 my.cnf 文件中配置好:
log-slow-queries = [slow_query_log_filename]
即可記錄超過默認的 10s 執(zhí)行時間的 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執(zhí)行的狀態(tài)。
explain select * from wp_posts\G;
explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優(yōu)化的查詢語句。
使用方法,在select語句前加上explain就可以了:
如:explain select surname,first_name form a,b where a.id=b.id
以上就是在mysql查找效率慢的SQL語句的方法介紹。
【編輯推薦】