教您在mysql查找效率慢的SQL語句
如何在mysql查找效率慢的SQL語句呢?這可能是困然很多人的一個(gè)問題,下面就教您在mysql查找效率慢的SQL語句的方法,供您參考學(xué)習(xí)。
啟動(dòng)Mysql時(shí)加參數(shù)--log-slow-queries來記錄執(zhí)行時(shí)間超過long_query_time秒的sql
MySQL 自帶 slow log 的分析工具 mysqldumpslow。
slow log 是 MySQL 根據(jù) SQL 語句的執(zhí)行時(shí)間設(shè)定,寫入的一個(gè)文件,用于分析執(zhí)行較慢的語句。
只要在 my.cnf 文件中配置好:
log-slow-queries = [slow_query_log_filename]
即可記錄超過默認(rèn)的 10s 執(zhí)行時(shí)間的 SQL 語句。
如果要修改默認(rèn)設(shè)置,可以添加:
long_query_time = 5
設(shè)定為 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語句的方法介紹。
【編輯推薦】