MySQL-スロークエリーを開く
2251 ワード
前言
遅いクエリー・ログをオンにすると、MySQLに指定した時間を超えるクエリーを記録させることができ、分析パフォーマンスのボトルネックを特定することで、データベース・システムのパフォーマンスをより最適化できます.
パラメータの説明
slow_query_logスロークエリオープン状態slow_query_log_fileスロークエリログの格納場所(このディレクトリにはMySQLの実行アカウントの書き込み可能な権限が必要で、一般的にMySQLのデータ格納ディレクトリに設定されています)long_query_timeクエリは何秒以上記録されますか?
ステップの設定
スロークエリ関連パラメータの表示
スロークエリーを開く
方法1:グローバル変数設定slow_query_logグローバル変数を「ON」状態に設定
スロー・クエリー・ログの保存場所の設定
タイムアウト時間の設定
設定後のパラメータの表示
テスト
スロークエリSQLの実行
ログを生成するかどうかを確認
ログが存在する場合、MySQLはスロークエリー設定を開始しました.
遅いクエリー・ログをオンにすると、MySQLに指定した時間を超えるクエリーを記録させることができ、分析パフォーマンスのボトルネックを特定することで、データベース・システムのパフォーマンスをより最適化できます.
パラメータの説明
slow_query_logスロークエリオープン状態slow_query_log_fileスロークエリログの格納場所(このディレクトリにはMySQLの実行アカウントの書き込み可能な権限が必要で、一般的にMySQLのデータ格納ディレクトリに設定されています)long_query_timeクエリは何秒以上記録されますか?
ステップの設定
スロークエリ関連パラメータの表示
MySQL [(none)]> show variables like 'slow_query%';
+---------------------+----------------------------+
| Variable_name | Value |
+---------------------+----------------------------+
| slow_query_log | ON |
| slow_query_log_file | /data/mysql/mysql-slow.log |
+---------------------+----------------------------+
2 rows in set (0.00 sec)
MySQL [(none)]> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.01 sec)
スロークエリーを開く
方法1:グローバル変数設定slow_query_logグローバル変数を「ON」状態に設定
mysql> set global slow_query_log='1';
スロー・クエリー・ログの保存場所の設定
mysql> set global slow_query_log_file='/data/mysql/mysql-slow.log';
タイムアウト時間の設定
# 1 SQL
mysql> set global long_query_time=1;
設定後のパラメータの表示
MySQL [(none)]> show variables like 'slow_query%';
+---------------------+----------------------------+
| Variable_name | Value |
+---------------------+----------------------------+
| slow_query_log | ON |
| slow_query_log_file | /data/mysql/mysql-slow.log |
+---------------------+----------------------------+
2 rows in set (0.00 sec)
MySQL [(none)]> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.01 sec)
テスト
スロークエリSQLの実行
mysql> select sleep(2);
ログを生成するかどうかを確認
tail -f /data/mysql/mysql-slow.log
ログが存在する場合、MySQLはスロークエリー設定を開始しました.