1

PHP 関数を使用しmysql_stat()て、MySQL データベースに関する情報を取得します。

エントリSlow queriesがあり、私の場合は 94 (301729 クエリ中) です。クエリに関する詳細情報を含むログ ファイルはありますか? (時間、実行時間、クエリ自体、...)?

14 時間前に、4 倍の RAM を備えた新しいサーバーをセットアップしましたが、それでも 0.031154% 遅いクエリがあり、基本的に以前と同じです。これは非常に高いと思います。どれが遅いクエリで、それらを最適化する方法を見つけるのが本当に好きです。遅いクエリの許容比率は?

4

1 に答える 1

3

my.cnf で log-slow-queries を有効にできます。これにより、遅いクエリがログに書き込まれます。

log_slow_queries = /var/log/mysql/mysql-slow.log

ユーザーが待機する必要がある場合、クエリを 0.2 秒より遅くするべきではないと思います。ユーザーが関与しない cron を実行する場合は、それほど問題になりません。ただし、同じデータベース/テーブルを使用すると、cron のクエリにより、通常のクエリ (ロック/i/o) が遅くなる可能性があります。

適切なインデックスを設定してデータベースを最適化し、EXPLAIN を使用してさまざまなクエリを試すことができます。

于 2012-09-13T18:04:35.157 に答える