ホームページ > データベース > mysql チュートリアル > MySQL Advanced 11 - クエリが遅い

MySQL Advanced 11 - クエリが遅い

黄舟
リリース: 2016-12-29 16:50:10
オリジナル
1022 人が閲覧しました

MySQL は、指定された時間を超えるクエリを記録します。指定された時間を超える SQL クエリをスロークエリと呼びます。

1. 制限時間

show variables like '%long%';
ログイン後にコピー

を確認すると、次のようになります:

+---------------------------------------------------+-----------+
| Variable_name                        | Value     |
+---------------------------------------------------+-----------+
| long_query_time                        | 10.000000 |
| max_long_data_size                     | 1048576   |
| performance_schema_events_waits_history_long_size | 10000     |
+---------------------------------------------------+-----------+
ログイン後にコピー


クエリが long_query_time を超える場合、それは遅いクエリと呼ばれます。

2. データベースの起動時間を確認します

show status like 'uptime%';
ログイン後にコピー

。接続数

+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Uptime                    | 76333 |
| Uptime_since_flush_status | 76333 |
+---------------------------+-------+
ログイン後にコピー

を取得すると、


show status like 'com_Select';
ログイン後にコピー

5. スロー クエリの時間を設定します

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 1     |
+---------------+-------+
ログイン後にコピー

6. セーフ モードで mysql サービスを開始すると、スロー クエリ レコードが表示されます。ログに書き込まれます。

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

MySQL設定ファイルに次のパラメータを追加します


log-show-queries = D:/MySQL/Log/mysqld-slow-query.log

long-query-time = 5


log-queries-not-using-indexes

説明:

スロークエリログ機能の保存場所については、ディレクトリファイルに書き込み権限が必要です。設定を使用すると、システムによってデフォルトのファイル host_name-show.log が与えられます

long_query_time

SQL 実行時間のしきい値、デフォルトは 10 秒です

long_query_time しきい値を設定した後、次の 3 つの点に注意してください。 mysql データベースは、実行時間がこの値を超えるすべての SQL ステートメントを記録しますが、実行時間が long_query_time と正確に等しい場合は記録されません。つまり、mysql のソースコードでは、log_query_time 以上ではなく、log_query_time より大きいと判断されます。

2. MySQL 5.1 以降、long_query_time はマイクロ秒単位で計算されるようになり、SQL の実行時間を正確に記録します。

3. 時間は短すぎず、長すぎず、できれば 5 ~ 10 秒にすることをお勧めします。もちろん、自分の状況に応じて決めることができます。

log-queries-not-using-indexes

実行中の SQL ステートメントがインデックスを使用しない場合、mysql データベースはこの SQL ステートメントもスロー クエリ ログ ファイルに記録します。


上記は MySQL Advanced 11 - Slow Query の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート