問題タブ [mysql-slow-query-log]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2539 参照

mysql - mysql のスロー ログがこれらの非スロー クエリを報告するのはなぜですか

私のmysqlサーバーはlong_query_time = 2構成されていますが、これらのクエリが遅いクエリログに報告されているのをまだ見ています。

ご覧のとおり、Query_time: 0.000412 Lock_time: 0.000060 は 2 秒をはるかに下回っているようです。

これらの「高速」クエリが報告される理由がわかりましたか?

0 投票する
2 に答える
437 参照

ruby-on-rails - 遅いクエリログ分析のためのRubySequelまたはORMインストルメントSQLクエリ用のツールまたはパッチ

一連のアプリケーションからのMySQLの低速クエリログがあります。ほとんどがRubyで、一部はRails ActiveRecordを使用し、その他はSequelを使用しています。

特定の(MySQL)低速クエリを、それを生成したコードまで簡単に追跡できるようにしたいと考えています。これらのツールで有効にできる機能、またはツールに適用できるパッチがありますか?これにより、SQLコメントに埋め込まれたインストルメンテーション(__FILE__および__FUNCTION__識別子など)が追加されますか?

0 投票する
1 に答える
901 参照

mysql - Mysql のスロー クエリ ログがより高速なクエリをログに記録している

データベース サーバーに mysql スロー クエリ ログをセットアップし、ロング クエリ時間を 5 に設定しました。ログと、ミリ秒しかかからないログ クエリを確認しました。その理由を知っている人はいますか?ログの一部を次に示します。

最後のクエリは、最適化されているわけではありません。450000 行を調べたと書かれているので、ログに表示されても驚かないでしょう。ただし、クエリ時間は 0.2 秒しかかからなかったとのことです。遅いクエリログには、クエリの実行時間だけではありませんか?

0 投票する
0 に答える
367 参照

mysql - 結合でMysqlクエリが大幅に遅くなる

約20,000行のテーブルがあります。すべて正常に動作しますが、クエリの 1 つが約 5 秒以上遅くなりました。すべてのテーブルには、主キーとそれに関連するインデックスがあります。外部キーとそれに関連するインデックスもあります。新しいインデックスを追加し、クエリを少しずつ調整しようとしましたが、大きな違いはありません。私も注文を削除しました。これは確かに役立ちますが、それだけです。ここで何かが欠けているかどうかを確認するために、新鮮な目を得ることができるかどうか疑問に思っていました.

特にすべてのインデックスが定義されている場合、using_temporary の原因は何なのだろうか。何らかの理由で説明を実行すると、テーブル 2 から最初に結合された値を除いて、それぞれ 1 行だけを検索する必要があるだけで、すべて問題ないように見えます。この場合、using_temporary が返され、毎回ほぼ 3000 行を検索する必要があります。

更新同じ順序で他の結合テーブルからのキーで構成される table_1 に一意のインデックスを追加しました。Explain によると、これにより検索する行数が 3000 から 294 に減りますが、クエリの実行時間は依然として過剰です。今では珍しいと言わざるを得ません。

0 投票する
3 に答える
5439 参照

mysql - 遅いクエリを決定する方法は?

サイトの読み込み時間が非常に遅いです。読み込みに時間がかかるのは JavaScript か php ではないかと疑っていますが、サイトを YSlow でテストしたところ、評価は B で、悪くないと思います。

ここで、クエリ、データベースのインデックス作成に問題があり、サイトの読み込みが遅くなっていないか、データベースをチェックしたいと考えています。

遅いクエリがあるかどうかを判断するために、データベースを読んだりテストしたりするチュートリアルやトリックはありますか? データベース管理のヒントはありますか?

0 投票する
2 に答える
341 参照

mysql - pt-query-digest は結果がなく、「合計 0、一意の 1」が表示されます。それを解決する方法はありますか?

一部のログでは、percona ツールキットの pt-query-digest ツールが正常に機能しているように見えますが、他のログでは次の出力が得られます。

ログファイルの何が問題なのか知っている人はいますか? 次の最初の 10 行を持つ有効なようです。

0 投票する
1 に答える
324 参照

mysql - インデックスを使用する MySQL の低速クエリで、プロファイラーを使用して実行しても低速ではない

スロー クエリ ログに、次のようなスロー クエリが表示されます。

SQL_NO_CACHE を使用してプロファイラーで低速クエリを実行すると、次のように表示されます

Explain を使用してクエリを実行すると、次のように表示されます

作成テーブルは次のようになります

メールアドレスのリストからIDとメールを選択して定期的に実行される別のクエリがあるため、メール、IDキー、メールアドレスは一意である必要があるため、それが一意のキーである理由です。テーブルには最大 1,400 万行しかありません

メモリとスワッピングのためにインデックスが大きくなる可能性があると思いましたが、ボックスには8ギガのRAMがあります。

my.cnf ファイルで innodb_file_per_table=1 を設定すると、問題が解決したようです。

これにより実行時間が改善されました。私の理解では、テーブルごとに 1 つのファイルを持つということは、ディスク ニードルがそれほど長い距離を移動する必要がないことを意味します。

質問

  1. インデックスを使用してクエリを評価できる場合、 innodb_file_per_table=1 を設定するとパフォーマンスが向上するのはなぜですか
  2. キャッシュを使用せずにプロファイラーに対してクエリを実行すると、クエリが遅くならないのはなぜですか?
  3. 主キーは (id, email) にする必要がありますか?

アップデート

もともと /etc/my.cnf ファイルがなかったので、次のファイルを作成しました

0 投票する
1 に答える
5063 参照

mysql - MySQL 低速クエリ ログ 高速クエリのロギング

MySQL が、指定された時間よりも高速なスロー クエリ ログにクエリを記録しているように見えるという問題があります。次のログを記録するように MySQL を構成しました。

ただし、スロー クエリ ログでは、1 秒未満のクエリがログに記録されていることがわかります。

「SET GLOBAL ...」を使用して上記の変数を動的に設定しましたが、その前でも long_query_time は 1.000000 秒に設定されていました。

MySQL が、指定されたものよりも高速なクエリをログに記録している理由は何ですか?

0 投票する
1 に答える
989 参照

mysql - Percona pt-query-digest を使用して、特定のデータベースのみのスロー クエリ ログを分析する

Percona ツール スクリプト pt-query-digest は、MySQL のスロー クエリ ログを分析するのに非常に役立ちそうです。特定のデータベースに関連するクエリのみをスクリプトに表示させる方法を知っている人はいますか?

ありがとう

0 投票する
5 に答える
172 参照

mysql - クエリをBigTableに最適化する方法

現在、18,310,298レコードのテーブルがあります。

そして次のクエリ

次の構造で

とMySQLの説明は次を示しています

このようなクエリを毎日のピーク使用時間で実行するには、約5秒かかります。

それを速くするために私は何ができますか?

更新:すべてのコメントに関して、INDEXを変更し、WHERE句でDATE関数を削除しました

実行速度が速いようです。みんな、ありがとう。