環(huán)境
查看是否開啟慢查詢?nèi)沼?/h3>
mysql> show variables like 'slow_query_log';
查看 mysql 日記信息
mysql> show variables like '%log%';
# slow_query_log_file 日志文件位置
# slow_query_log 是否開啟
開啟慢查詢?nèi)罩?/h3>
mysql> set global slow_query_log=on;
設(shè)置沒有索引的記錄到慢查詢?nèi)罩?/h3>
mysql> set global log_queries_not_using_indexes=on;
設(shè)置慢查詢時(shí)間
set long_query_time=1
工具
pt-query-digest 安裝
[root@localhost-centos6 ~]# wget percona.com/get/pt-query-digest
[root@localhost-centos6 ~]# chmod u+x pt-query-digest
[root@localhost-centos6 ~]# mv pt-query-digest /usr/bin/
mysqldumpslow
mysql> show variables like 'slow_query_log';
mysql> show variables like '%log%';
# slow_query_log_file 日志文件位置
# slow_query_log 是否開啟
mysql> set global slow_query_log=on;
設(shè)置沒有索引的記錄到慢查詢?nèi)罩?/h3>
mysql> set global log_queries_not_using_indexes=on;
設(shè)置慢查詢時(shí)間
set long_query_time=1
工具
pt-query-digest 安裝
[root@localhost-centos6 ~]# wget percona.com/get/pt-query-digest
[root@localhost-centos6 ~]# chmod u+x pt-query-digest
[root@localhost-centos6 ~]# mv pt-query-digest /usr/bin/
mysqldumpslow
mysql> set global log_queries_not_using_indexes=on;
set long_query_time=1
[root@localhost-centos6 ~]# wget percona.com/get/pt-query-digest
[root@localhost-centos6 ~]# chmod u+x pt-query-digest
[root@localhost-centos6 ~]# mv pt-query-digest /usr/bin/
mysql 自帶
explain 命令
explain返回各列的含義
table:顯示這一行的數(shù)據(jù)是關(guān)于哪張表的
type:這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型為const瞎惫、eq_reg书蚪、ref轻庆、range桥氏、index和ALL
possible_keys:顯示可能應(yīng)用在這張表中的索引精钮。如果為空楣黍,沒有可能的索引吱韭。
key:實(shí)際使用的索引。如果為NULL鳍刷,則沒有使用索引垫言。
key_len:使用的索引的長度。在不損失精確性的情況下倾剿,長度越短越好。
ref:顯示索引的哪一列被使用了,如果可能的話,是一個(gè)常數(shù)
rows:MYSQL認(rèn)為必須檢查的用來返回請(qǐng)求數(shù)據(jù)的行數(shù)