MySQLの参照にインデックスが使用されていないクエリーを調べる

MySQLのlog_queries_not_using_indexesを使用すると、
参照にインデックスが使用されていないクエリーをログに記録できます。

ログの出力先を確認する

> SHOW GLOBAL VARIABLES LIKE 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.001 sec)

出力先が’FILE’でない場合は、’FILE’に変更する。

> SET GLOBAL LOG_OUTPUT = 'FILE';
Query OK, 0 rows affected (0.000 sec)

ログ出力を有効にする

現在の設定を確認する

> SHOW GLOBAL VARIABLES LIKE 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log   | OFF   |
+---------------+-------+
1 row in set (0.001 sec)

ログ出力を有効にする

> SET GLOBAL general_log = ON;
Query OK, 0 rows affected (0.003 sec)

> SHOW GLOBAL VARIABLES LIKE 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log   | ON    |
+---------------+-------+
1 row in set (0.001 sec)

スロークエリーログを有効にする

スロークエリーログを有効にする

> SET GLOBAL slow_query_log = ON;
Query OK, 0 rows affected (0.002 sec)

設定を確認する

MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+
1 row in set (0.001 sec)

参照にインデックスが使用されていないクエリーのログを有効にする

log_queries_not_using_indexesの設定を確認する

> SHOW GLOBAL VARIABLES LIKE 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 row in set (0.001 sec)

log_queries_not_using_indexesを有効にする

> SET GLOBAL log_queries_not_using_indexes=ON;
Query OK, 0 rows affected (0.000 sec)

> SHOW GLOBAL VARIABLES LIKE 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | ON    |
+-------------------------------+-------+
1 row in set (0.001 sec)

ログの出力先を確認する

ログの出力先ディレクトリを確認する

> SHOW GLOBAL VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.001 sec)

ログのファイル名を確認する

> SHOW GLOBAL VARIABLES LIKE 'slow_query_log_file';
+---------------------+--------------------+
| Variable_name       | Value              |
+---------------------+--------------------+
| slow_query_log_file | localhost-slow.log |
+---------------------+--------------------+
1 row in set (0.001 sec)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください