ホームページ  >  記事  >  データベース  >  mysql でスロークエリを有効にする方法をご覧ください。スロークエリログの原理に関する簡単な説明

mysql でスロークエリを有効にする方法をご覧ください。スロークエリログの原理に関する簡単な説明

php是最好的语言
php是最好的语言オリジナル
2018-07-26 17:12:511960ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。