問題タブ [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 投票する
2 に答える
3640 参照

sql - ORACLE: 挿入のプランの説明

次のステートメントを実行すると、値がテーブルに挿入されないのはなぜでしょうか。あれは正しいですか?そして、値を挿入してExplain Planを見ることは可能ですか?

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

mysql - EXPLAIN 印刷のエクストラ - 「const テーブルを読み取った後に WHERE が認識されない」

「million_words」という単純なテーブルがあります。2 つの列を持つ 1 つの行があります -> id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY & word VARCHAR(50 NOT NULL.

このクエリを実行します-:EXPLAIN SELECT * FROM million_words WHERE word = '-anon'

行がテーブルに明確に存在する場合でも、列には:Extraが出力されます。'Impossible WHERE noticed after reading const tables

どうしたの

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

mysql - IN()句を使用すると、Filesortが生成されます

私は簡単なテーブルを持っています->

私のテーブルエンジンはMyISAMです。

複数の列のインデックスが必要combo1ですby_id,posted_on,id

このクエリを実行します->

Extraコラムは言うそしてUsing whereキーコラムは言うcombo1

しかし、私がこのクエリを実行すると->

Extra列にはが表示さUsing where; Using filesortれ、キー列にはが表示されますcombo1

filesortQEPは、オプティマイザが「id」インデックスが付けられたインデックスcombo1を使用していることを示しているのに、なぜ2番目のケースで発生するのですか。

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

mysql - LEFT JOIN は INNER JOIN よりもはるかに高速です

私は2つのテーブルを持っています - >

  • ユーザー

    /li>
  • ping

    /li>

このクエリを実行します->

Extrapimgs の下の列にはUsing where; Using temporary; Using filesort、ユーザーの下には と表示されていますUsing where; Using join buffer

このクエリを実行します->

Extrapimgs の下の列にはUsing where、users の下は空です。

何が起こっている?

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

mysql - WHEREステートメントのORの全表スキャン

だから私はこのクエリを持っています

そして、テーブルrで全表スキャンを実行しています

出力の説明:

このクエリを変更して、全表スキャンを実行しないようにするにはどうすればよいですか?おそらくUNIONを使用できることはわかっていますが、必要な場合を除いてUNIONは使用したくありません。

編集

クエリをUNIONに書き換えることは実際に機能しました...これがUNIONクエリです

そして出力を説明する

しかし、もう一度、私はこれのためにUNIONをしたくありません

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

mysql - MySQLクエリ最適化のヒントが必要

モンスターを手伝ってくれませんか。

これに問題はありますか?

1秒未満の実行時間に到達したいのですが、可能ですか?

DBの構造を理解するために必要なその他のデータについてはお問い合わせください。ヒントとコツは大歓迎です!

実行時間

クエリの説明

以下はshow status like 'Handler%'、クエリが実行された後の正確な結果です

データベース構造:https ://gist.github.com/moiseevigor/4988fc8868f92643c9fb

編集1

インデックス作成後

実行時間は2倍短縮されましたが、それでもORD_CLI_MULTIインデックスにヒットしています

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

mysql - MySQL: 結合された列でグループ化するインデックス

JOIN を実行するためにインデックスを最適化し、結合されたテーブルの列の 1 つを GROUP BY しようとしています。

以下のスクリプトを実行してインデックスをいじってテストしていますが、3番目のクエリに必要なインデックスがわかりません。

解決済み:ダミー データを追加すると、SQL の動作が異なり、以前に試したインデックスの 1 つが問題なく動作します。

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

mysql - 順序付きの非常に単純なクエリで「ファイルソートを使用する」ことを避けることはできません

選択クエリを作成しようとしていますが、説明クエリを使用する場合、mysql は常に「ファイルソートの使用」を追加で使用します。

最も単純なクエリを試してみましたが、問題は解決しません。私のテーブル「Partidas」の構造は次のとおりです。

テーブルには約 1000 ~ 5000 行 (非常に少ないデータ) がありますが、常にファイルソートを使用します。テストに使用しているクエリは次のとおりです。

結果は次のとおりです。

ただし、クエリで制限を変更した場合、たとえば制限0,5; 結果も変わる

mysql 構成では、buffer と sort の変数は次のとおりです。

しかし、これらの値を変更しようとしましたが (8MB まで増やしました)、結果は同じです

ご協力ありがとう御座います

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

mysql - MySqlはどの列にインデックスを配置する必要がありますか?

私はこのクエリを持っています:

私の問題は非常に具体的です。それは次の行に関するものです:

EXPLAIN を使用すると、このクエリが悪いようです。私はこのテーブルを取得します (c = 連絡先): 38307 行。クエリに従って、どの列にインデックスを配置する必要がありますか? mobile1 を試しましたが、改善はありませんでした (ところで、family_id は連絡先テーブルでインデックス化されています)。

説明結果の画像を添付します。 説明

または、誰かがクエリの最適化を手伝ってくれるかもしれません...

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

mysql - この遅いクエリを最適化する方法は?

実行速度が非常に遅い次のクエリがあります(ほぼ50000レコード)

MySQLクライアントバージョン5.0.96を使用しています

このクエリを使用してEXPLAINEXTENDED呼び出しを実行すると、次の結果になります。

次の列にインデックスがありますnews_id(主キー)date_onlineアクティブ化されたcategory_id

EXPLAIN EXTENDEDの結果を見ると、USING_WHEREが表示されます。FILESORTの使用。どちらも悪いことは知っていますが、これを修正する方法がわかりません。