ホームページ >データベース >mysql チュートリアル >mysqlのスロークエリステートメントとは何ですか?
mysql では、スロー クエリ ステートメントとは、応答時間がスロー クエリ ログのしきい値を超えているステートメントを指します。特定の実行時間は、SQL ステートメントの "long_query_time" 値を超えています。"slow_query_log" パラメータを設定できます。スロークエリを有効にするかどうかを設定します。「1」はオン、「0」はオフを意味します。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
MySQL のスロー クエリ ログは、MySQL によって提供されるログ レコードであり、MySQL で応答時間がしきい値を超えたステートメントを記録するために使用され、特に実行中の SQL を指します。 long_query_time 値を超えると、スロー クエリ ログに記録されます。
long_query_time のデフォルト値は 10 で、これはステートメントを 10 秒以上実行することを意味します。
デフォルトでは、Mysql データベースはスロー クエリ ログを開始しません。このパラメータを手動で設定する必要があります。もちろん、チューニングに必要ない場合は、このパラメータを開始することは一般に推奨されません。低速クエリ ログをオンにすると、パフォーマンスに多少の影響が生じます。スロー クエリ ログは、ファイルへのログ レコードの書き込みをサポートし、データベース テーブルへのログ レコードの書き込みもサポートします。
MySQL スロー クエリの関連パラメータの説明:
slow_query_log: スロー クエリ ログをオンにするかどうか。1 はオン、0 はオフを意味します。
log-slow-queries: 古いバージョン (5.6 より前のバージョン) MySQL データベースのスロー クエリ ログ ストレージ パス。このパラメータを設定することはできません。システムはデフォルトのファイル host_name-slow.log
slow-query-log-file: 新しいバージョン (5.6 以降) MySQL データベースを使用します。低速クエリ ログのストレージ パス。このパラメータは設定できません。システムはデフォルトのファイル host_name-slow.log
long_query_time: 遅いクエリのしきい値を設定します。クエリ時間が設定されたしきい値よりも長い場合、保持します。ログ。
log_queries_not_using_indexes: インデックスを使用しないクエリもスロー クエリ ログに記録されます (オプション)。
log_output: ログの保存方法。 log_output='FILE' は、ログをファイルに保存することを意味し、デフォルト値は 'FILE' です。 log_output='TABLE' は、ログをデータベースに保存することを意味します。
slow_query_log
デフォルトでは、slow_query_log の値は OFF であり、スロー クエリ ログが無効であることを意味します。以下に示すように、slow_query_log. の値を設定します:
mysql> show variables like '%slow_query_log%'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+
rows in set (0.00 sec)
mysql> set global slow_query_log=1; Query OK, 0 rows affected (0.09 sec)
スロー クエリを有効にするには、set global throw_query_log=1 を使用します。現在のデータベース、MySQL にのみ有効なログ。再起動すると無効になります。
これを永続的に有効にしたい場合は、構成ファイル my.cnf を変更する必要があります (他のシステム変数についても同様です)。
my.cnf 以下に示すように、slow_query_log および throw_query_log_file パラメータを追加または変更するには、
slow_query_log = 1 slow_query_log_file = /tmp/mysql_slow.log
次に、MySQL サーバーを再起動します。
slow_query_log_file
このパラメータは、スロー クエリ ログのストレージ パスを指定するために使用されます。デフォルトは、host_name-slow.log ファイルです。
mysql> show variables like 'slow_query_log_file'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+ 1 row in set (0.00 sec)
推奨される学習: mysql ビデオ チュートリアル
以上がmysqlのスロークエリステートメントとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。