mysqlスロークエリー設定の詳細について


Web開発では、私たちはよくいくつかのSQL文を書くことができます.悪いSQL文はあなたのプログラム全体を非常に遅くする可能性があります.10秒を超えると、一般的なユーザーはページを閉じることを選択します.SQL文を最適化して、実行時間の長いSQL文を見つけるにはどうすればいいですか.MySQLは私たちに良い機能を提供してくれました.それは遅いクエリーです.スロークエリーとは、設定によって一定時間を超えるSQL文を記録することです!では、遅いクエリーをどのように適用しますか?
1.MySQLのスロークエリーログ機能をオンにするデフォルトでは、MySQLは一定の実行時間を超えるSQL文を記録しません.この機能をオンにするには、MySQLのプロファイルを変更し、windowsでmyを変更する必要があります.ini,Linux下修正my.cnfファイルは、[mysqld]の最後に次のコマンドを追加します.

    long_query_time = 1 
  

2.スロークエリーログ機能のテスト(1)MySqlコンソールに入り、次の文を実行します.
mysql> select sleep(2);+----------+| sleep(2)|+----+|0|+----+1 row in set(2.12 sec)(2)スロークエリーログファイルthink-slowを表示する.log、ファイルの最後に発見:

    # User@Host: root[root] @ localhost [127.0.0.1] 
   
# Query_time: 2.104120  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1353413183;
select sleep(2);

3.解釈:(1)slow_query_logこの文は記録mysqlスロークエリーを開く機能で、slow_query_log=0オフslow_query_log=1オン(この1は書かなくてもいい)
 (2)long_query_time=1この文は1秒を超えるSQL実行文を記録する
(3)では、このログファイルはどこに保存されているのでしょうか.デフォルトはmysqlのdataディレクトリに配置され、ファイル名はhost_です.name-slow.logはホスト名-slowである.ロゴは、例えば筆者の開発機ではTHINK-slowである.log(私用のThinkpadなので、ほほほ)
(4)ログファイルをdataディレクトリに配置したくない場合は、保存されているディレクトリとログファイル名を以下の構成で指定できます:slow_query_log_file=file_nameファイル_nameはあなたのログを保存するディレクトリとファイル名で、ここで注意する資料にはlog-slow-queries=file_name、これはmysql 5にあります.5版はもう古い!
4.1 s未満の遅いクエリー記録をどのように記録しますか?MySQL5.21版以前long_query_timeパラメータの単位は秒で、デフォルトは10です.これは、実行時間が1秒を超えるクエリしか記録できないということに相当します.クエリ時間が100ミリ秒を超えるSQL文の記録をどのように記録しますか?mysql 5.21+ポスト・リリースでは、ミリ秒レコード(1)をサポートしてMySqlコンソールにアクセスし、次のsql文を実行します.
この文は記録の遅いクエリーが時間100 msを超えるSQLを設定して、mysqlを再起動してから有効になることを覚えています!(2)テストはmysqlコンソールに入り、次のsql文を実行します.
スロー・クエリー・ログ・ファイルを表示し、最後に追加された新しい情報を表示します.

    # User@Host: root[root] @ localhost [127.0.0.1] 
   
# Query_time: 0.500028  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1353415326;
select sleep(0.5);

mysqlスロークエリー , :
mysqlスロークエリーログについて
mysqlスロークエリーインスタンスの ( )を く
mysqlスロークエリーログを く
MySQL 5.1.6 のバージョンでスロー・クエリー・ログを に く
mysql いクエリの
mysql いクエリーと クエリー を く
mysqlスロークエリーを き、クエリーの い を します。