ホームページ >データベース >mysql チュートリアル >mysql でスロークエリを有効にする方法をご覧ください。スロークエリログの原理に関する簡単な説明
mysql スロー クエリ ログは、mysql で提供されるログ レコードで、対応する時間がしきい値を超えた SQL がスロー クエリ ログに記録されることを意味します。 。 long_query_time のデフォルト値は 10 で、これはステートメントを 10 秒以上実行することを意味します。
おすすめの mysql ビデオ チュートリアル:「mysql チュートリアル」
スロー クエリ ログの設定
1. スロー クエリ ログ コマンドが有効かどうかを確認します:
show variables like '%slow_query_log%'
2. スロー クエリを有効にするコマンドを設定します
set global slow_query_log=1
:
slow_query_log ONがオン、OFFがオフ
slow_query_log_fileはスロークエリログの保存アドレスです
3. スロークエリ定義のクエリと変更
show variables like 'long_query_time%'
set global long_query_time=4
4. インデックスを使用しないクエリはスロークエリログに記録されます。クエリログ。チューニングする場合は、このオプションを有効にすることをお勧めします。このパラメータが有効な場合、フル インデックス スキャンの SQL もスロー クエリ ログに記録されます。
show variables like 'log_queries_not_using_indexes'rreee
5. 低速クエリ レコードがいくつあるかをクエリします
set global log_queries_not_using_indexes=1
mysqldumpslow 低速ログ分析ツール
コマンド:
show global status like '%Slow_queries%';
最も多く返されたレコードを持つ 20 個の SQL を取得します
-s 按照那种方式排序 c:访问计数 l:锁定时间 r:返回记录 al:平均锁定时间 ar:平均访问记录数 at:平均查询时间 -t 是top n的意思,返回多少条数据。-g 可以跟上正则匹配模式,大小写不敏感。
平均訪問数が最も多い 20 個の SQL を取得します
mysqldumpslow -s r -t 20 sqlslow.log
平均訪問数が最も多く、ttt 文字を含む 20 の SQL ステートメントを取得します
mysqldumpslow -s ar -t 20 sqlslow.log
注:
1. -bash: mysqldumpslow: command not found エラーが発生した場合は、
mysqldumpslow -s ar -t 20 -g "ttt" sqldlow.log
2 を実行してください。 /usr /bin/mysqldumpslow line 161, a8093152e673feb7aba1828c43532094 chunk 405659 で死亡しました。分析したい SQL ログが大きすぎることを意味します。分割してから分析してください。
ln -s /usr/local/mysql/bin/mysqldumpslow /usr/bin
関連記事:
mysql スロー クエリ ログを開き、mysqldumpslow コマンドを使用して表示します mysqldumpslow と mysqlsla を使用して mysql スロー クエリ ログを分析します MySQL データ管理バックアップ リカバリ ケース分析ビデオ チュートリアル以上がmysql でスロークエリを有効にする方法をご覧ください。スロークエリログの原理に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。