スロークエリログとは何ですか?MySQL スロー クエリ ログは、MySQL が提供するログ レコードです。これは、応答時間がしきい値を超えた MySQL のステートメントを記録するために使用されます。具体的には、実行時間が long_query_time 値を超えた SQL ステートメントがスロー クエリ ログに記録されます。 具体的には、long_query_time 値よりも長い時間がかかる SQL ステートメントがスロー クエリ ログに記録されます。 long_query_time のデフォルト値は 10 です。これは、ステートメントが 10 秒以上実行されることを意味します。 これは、どの SQL 文が最大許容時間を超えているかを確認するために使用されます。たとえば、SQL 文の実行に 5 秒以上かかる場合、その SQL 文は遅いとみなされます。5 秒以上かかる SQL 文を収集し、以前の説明に基づいて包括的な分析を実施したいと考えています。 デフォルトでは、MySQL データベースではスロー クエリ ログが有効になっていないため、このパラメータを手動で設定する必要があります。もちろん、チューニングに必要がない場合は、スロークエリログを有効にするとパフォーマンスに多少の影響が出るため、このパラメータを有効にすることは一般的には推奨されません。スロー クエリ ログは、ログ レコードをファイルへ書き込むことをサポートします。 スロークエリを有効にする方法オープンステータスを確認する '%slow_query_log%' のような変数を表示 低速クエリを有効にする グローバル slow_query_log を 1 に設定する スロー クエリ ログを有効にするには、set global_slow_query_log = 1 を使用します。これは現在のデータベースにのみ適用され、MYSQL が再起動されると無効になります。 永続的にしたい場合は、設定ファイル my.cnf を変更する必要があります (他のシステム変数についても同様です)。my.cnf ファイルを変更し、[mysqld] の下のパラメータを追加または変更します。 次に、MySQL サーバーを再起動します。 my.cnfファイルでは次の2行が設定されます。 遅いクエリログ = 1 slow_query_log_file=/var/lib/mysql/tim-slow.log スロークエリパラメータ slow_query_log_file は、スロークエリログファイルの保存パスを指定します。デフォルトでは、システムは host_name-slow.log というデフォルトファイルを指定します (パラメータ slow_query_log_file が指定されていない場合)。 では、スロー クエリ ログを有効にすると、スロー クエリにどのような SQL が記録されるのでしょうか? デフォルトの時間の長さを秒単位で表示するには、「long_query_time%」などの表示変数を使用します。 同様に、コマンドを使用して、my.cnf でこれを変更したり構成したりすることもできます。実行時間が long_query_time とまったく同じ場合は記録されません。つまり、MySQL ソース コードでは、long_query_time より大きいと判断され、それ以上と判断されないのです。 ログしきい値を設定するには: グローバル long_query_time=3 を設定します。 同様に、コマンドを使用して、my.cnf でこれを変更したり構成したりすることもできます。実行時間が long_query_time とまったく同じ場合は記録されません。つまり、MySQL ソース コードでは、long_query_time より大きいと判断され、それ以上と判断されないのです。 ログしきい値を設定するには: グローバル long_query_time=3 を設定します。 設定したが変化がなかった?なぜ?この時点で、セッションを再開する必要があります。 次に、以下に示すように、より遅いクエリを実行しますが、構成ファイルで次のように構成することを忘れないでください。 次に、ログ ファイルに移動して、どの SQL ステートメントがしきい値を超えているかを確認します。 現在のシステムにあるスロークエリレコードの数を照会します。 設定ファイルを記録する slow_query_log=1; slow_query_log_file=/var/lib/mysql/tim-slow.log; 長いクエリ時間=3; log_output=ファイル ログ分析ツール mysqldumpshow実稼働環境では、ログを手動で分析し、SQLを見つけて分析したい場合、それは明らかに手作業です。MYSQLはログ分析ツールmysqldumpshowを提供しています。
使用例は次のとおりです。 最も多くのレコードを返す 10 個の SQL ステートメントを取得します。 mysqldumpslow -sr -t 10 /var/lib/mysql/tim-slowlog 上位10のSQLクエリを取得する mysqldumpslow -s ct 10 /var/lib/mysql/tim-slow ログ 左結合クエリステートメントを含む、時間順に並べられた最初の 10 個の項目を取得します。 mysqldumpslow -st -t 10 -g "左結合" /var/lib/mysql/tim-slowlog これらのコマンドを more コマンドと組み合わせて使用することもお勧めします。そうしないと、画面が爆発する可能性があります。 mysqldumpslow -sr -t 10 /var/lib/mysq/tim-slow.log | 詳細 上記は、MySQL スロークエリログの詳細な理解に関する内容です。MySQL スロークエリログの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: IE9beta版ブラウザはHTML5/CSS3をサポート
<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...
目次序文困難クロスドメイン定義nginxの機能リバースプロキシ静的と動的の分離達成しようとする最終結...
退屈だったので、ループに関する簡単な演習をいくつかまとめてみました。JS を学び始めたばかりの方に役...
Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...
以前、開発中に背景レイヤーにカラーマスクを追加する必要のあるプロジェクトに遭遇しました。ここでは、背...
別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...
SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...
Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート ...
このロゴを .rar ファイルとしてローカルに保存し、解凍して効果を確認することができます。よりシン...
今日は奇妙なネットワーク問題に遭遇しました。調査プロセスといくつかの構成状況を記録し、Linux で...
はじめに: Web ページを作成するときに、画像をアップロードする必要がある場合がよくあります。画像...
問題の説明: CSS アニメーション プロパティを使用すると、ループが最初に読み込まれたときに白いギ...
目次defineComponent オーバーロード関数開発実務defineComponent 関数は...
目次1. MySQLデータのバックアップ1.1. データをバックアップするためのmysqldumpコ...
1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...