問題タブ [explain]

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 投票する
1 に答える
138 参照

mysql - ファイルソートと一時を使用してクエリを最適化する

誰でもこのクエリを最適化するのを手伝ってくれますか? 実行に時間がかかります:

su_pref テーブルには約 900,000 行あります

そして、これは EXPLAIN を使用したときに得られるものです

ここに画像の説明を入力 EXPLAIN を使用してクエリを最適化する方法を理解するのに本当に苦労しているので、どんな助けでも大歓迎です。

テーブルの定義は次のとおりです。su_pref テーブルは非常に大きいので、いくつかのフィールドを取り除きました

-

-

-

前もって感謝します

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

mysql - [「in 句」を使用した mysql クエリ] のパフォーマンスの向上

2 つのテーブルからデータを取得するクエリがあります。

table1table1_id主キーであるint フィールドがあります。

table22 つのフィールドがあります。table1_id、int フィールド ( を参照table1.table1_id)、およびfield1、ビット フィールド。

table2:table1_idとには 3 つのインデックスがありますfield1(table1_id_field1インデックスは名前で示されるフィールドにあります)。

次のクエリがあります。

このクエリのプラン ( を使用して取得EXPLAIN) は次のとおりです。

クエリに where 句を追加すると、次のようになります。

クエリは、以前ほど効率的なインデックスを使用しなくなりました。クエリプランは次のとおりです。

以前 (29858) よりも多くの行 (98913) を検索するようになり、元のクエリで以前に使用していたインデックスを使用しなくなりました (field1代わりにtable1_id_field1.

私の質問は次のとおりです。

  1. 追加の句を含む 2 番目のクエリが、最初のクエリで使用していたインデックスを使用していない理由はありますか?

  2. を使用する以外に、mysql により効率的なインデックスを選択させる方法はありますFORCE INDEXか? 多分私は別のインデックスを追加する必要がありますか?

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

mysql - MySQL:「EXPLAIN」は同様のクエリに対して異なる説明を示しています

user_id(キー:MUL)に一意でないインデックスを持つデータベースにテーブル'posts'があります。

このテーブルの場合、explainは、タイプが「REF」である場合に予想される説明を示します。

2番目のテーブル「followers」があります。「user_id」と「follower」は非一意のインデックスの一部です。

ただし、このテーブルでは、タイプは「ALL」です。前の表の「user_id」と同様に「 REF 」であると予想しましたが、この「user_id」にも一意でないインデックスがあります。これについて何か説明はありますか?

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

mysql - MySQLクエリの最適化、EXPLAIN、実行速度の低下

いくつかのクエリでいくつかの実際の問題がありますが、これは特に問題です。以下の情報。

tgmp_games、約2万行

tgmp_reviews-約20万行

これがクエリです。3秒かかります。

説明

私は、最も視聴された15のゲームを取得しようとしています。次に、各ゲームについて1つのレビュー(どちらが理想的であるかは重要ではありません、r_score)を取得します。

誰かが私がこれがとてもひどく非効率的である理由を理解するのを手伝ってもらえますか?

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

mysql - mysql クエリの実際の実行計画を表示する

重複の可能性:
PostgreSQLのEXPLAIN ANALYZEに相当するMySQLは何ですか

実行されたクエリの実行計画の実際のステップを表示する方法が mysql にあるかどうか疑問に思っていました。

たとえばEXPLAIN SELECT ...、mysqlが何をするかを示していますが、実際にクエリを実行し、実行で使用された実行計画を表示する方法はありますか?

postgreSQL がこの機能を提供していることがわかりますEXPLAIN ANALYZE SELECT...

MySQL に同等の機能はありますか?

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

mysql - 「FileSort」を使用したMysql Order by句

私は次のようなテーブル構造を持っています

次のようなクエリを起動すると

結果を次のように出力します

主キーとして定義したインデックスが見つからないのはなぜですか?

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

mysql - インデックスを適切に使用していないmysqlのテーブルに参加しますか?

結合しようとしている 4 つのテーブルがあり、結果を新しいテーブルに出力します。私のコードは次のようになります。

すべてのテーブルには複数のインデックスがあり、 tableのa場合は一意のレコードを(dte, permno)識別し、 tableのb場合はdteid が一意のレコード、 table のc場合は(yr, permno)id が一意のレコード、 tabledの場合は id が一意のレコードを識別します(dte, permno)selectクエリの部分からの説明は次のとおりです。

なぜ mysql はこれを処理するために非常に多くの行を読まなければならないのでしょうか? これを正しく読んでいる場合、(264129*16*12336)行を読み取る必要があります。これには1か月かかります。

誰かがここで何が起こっているのか説明してもらえますか?

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

performance - ORACLE EXPLAIN PLANの分析

ジャスパー レポート [PDF 形式] の生成中にブラウザがハングします。このレポートは、以下に示す説明プランのクエリを実行します。

クエリの分析を手伝ってください。このクエリに時間がかかりすぎていませんか? また、このレポートの生成中にスタック スレッドに気付きました。

レポートクエリの説明プラン

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

mysql - Mysql - インデックスを使用しない「Select like」

MySQL (5.5.24、WinXP) でインデックスをいじっていますが、使用時にサーバーが 1 つのインデックスを使用しない理由がわかりませんLIKE

例は次のとおりです。

テストテーブルを作成しました:

次に、 にインデックスを追加しましたstartDate。(列が日付時刻ではなくテキストである理由を聞かないでください。これは単純なテストです):

その後、約 200,000 行を追加しました。startDateには 3 つの値がありました。(それぞれの登場回数の3分の1..7万回近く)

したがって、次のようにEXPLAINコマンドを実行すると:

答えは次のとおりです。

したがって、キーが使用され、行数が 200,000/3 に近いため、すべて問題ありません。

問題は、クエリを次のように変更した場合 (「=」を「LIKE」に変更するだけ):

この場合、答えは次のとおりです。

そのため、インデックスは現在使用されていません (キーは null で、完全なテーブルに近い行.. type=all が示唆するように)。

MySQL のドキュメントによると、LIKE DOES はインデックスを使用します。

それで、私はここで何を見ていませんか?問題はどこだ?

ご協力いただきありがとうございます。

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

mysql - インデックスを使用しないWHERE句のORを含むMySQLの全文

初めて投稿します... 通常は検索で答えを見つけることができますが、これはあいまいな状況のようです。

ポイントに。親テーブルからの検索用に特別に設計されたテーブルを使用して、いくつかの検索を作成しました。私が作成したクエリが、WHERE 句で OR を使用する場合に PRIMARY KEY インデックスを使用しない状況に遭遇しましたが、AND を交換すると意図したとおりに機能します。テーブルを次に示します。

クエリ。クエリでは、animation_title と tag_text のウェイトが異なることに注意してください。

と説明すると……。

どうして??このクエリを何度か書き直しましたが、オンラインで読んだものはすべて、このクエリが正しく記述されていることを示しているようです。何か案は?前もって感謝します!