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

mysql - Order By を使用した遅い SQL クエリ

私はSQLの第一人者から遠く離れており、実行しようとしています:

order by を使用すると、order by を使用しない場合よりも 20 倍遅くなります。

私に与えます:

app_id、similar_app_id、およびそれらの複合体のインデックスのすべての組み合わせを試しました。

ヒントやコツはありますか?

ありがとう

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

mysql - mysql 5.1.37クエリインデックスが使用されていません

パフォーマンスの低いクエリがあります。サーバーのバージョン: 5.1.37-1ubuntu5.1 (Ubuntu)

テーブルには 547545 行あります。

ご覧のとおり、説明には可能なキーがありますが、実際のキーを使用して表示されていません。

何か案は?これはうまくいくはずで、何かばかげたことをやっているようです。

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

mysql - possible_keys を使用していない SELECT ステートメント

主キーを持たないレガシー システムのテーブルがあります。工場で資材を出庫するためのトランザクション データを記録します。

簡単にするために、各行に job_number、part_number、quantity & date_issued が含まれているとします。

発行日欄に索引を追加しました。EXPLAIN SELECT * FROM issue_parts WHERE date_issued > '20100101' を実行すると、次のように表示されます。

鍵は見えますが、使用しませんか? 誰かが理由を説明できますか?

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

mysql - MySQL Explain: 'Using temporary; の原因は何ですか? ファイルソートの使用

この SQL SELECT を使用してビューを作成する予定ですが、その説明では、一時的なファイルソートを使用していることがわかります。この問題を解決するために必要なインデックスがわかりません。ほとんどの場合、インデックスを使用してソートするのではなく、ファイルソートを使用する理由が不思議です。

ここに私のテーブルがあります:

そして、これが私の見解で使用しようとしている問題のある SQL ステートメントです。

説明からの出力:

別の例として、今回は where 句を使用します。

出力の説明:

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

mysql - mysqlのEXPLAINを使用して考えられる問題を探す方法

サイトのストレステストとすべてが壊れていることは明らかです。

今日の問題:いくつかのページのWSOD。数時間後、1ページの問題をこのクエリに絞り込みました(願っています)。以前は1秒で実行されていました。今では>300かかります。

実行中EXPLAIN私はこれを取得します:

見て、EXPLAIN言うことは可能ですか

  • 全表スキャンが発生している場合
  • 関連する切り込みが欠落している場合
  • どのテーブルまたは結合が非常に遅いか
  • 「遅いテーブルを見つけるための私の探求」における他の有用な情報

更新:group_by(および関連するテーブル結合)なしでクエリを再実行します。まだ一時テーブルとファイルソートが必要なので、インデックスの問題のようです。欠落しているインデックスのすべてのテーブルを調べ始めます。

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

mysql - MySQLコマンドExplain無視LIMIT?

MySQLサーバーバージョン5.5.14を使用していますが、Explainコマンドを使用してこの単純なSQLクエリを試しています。

そしてそれは私にこの結果を示しています:

私の質問は、LIMIT句で指定した最初の10行を取得するのではなく、なぜテーブル全体をスキャンするのかということです。

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

mysql - 2 つのまったく同じ mysql クエリで、2 つの異なる「explain」出力が得られる: なぜですか?

非常に奇妙な mysql の動作を見つけました。特定のクエリを 2 回実行すると、このクエリの説明が 2 回目と異なります。

これはどのように可能ですか??

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

mysql - IN サブクエリで MySQL クエリを改善する

私はテーブルitemsとテーブルを持っていますitem_attributes

簡単にするために、テーブル項目に columnidとcolumn があるとしますname。もちろん、列にはインデックスがありidます。

テーブルには、、およびitem_attributesの列がidあり、インデックスは ONですitem_idattribute_nameattribute_valueattrubute_name

ここで、結合を使用せずに、特定の属性を持つすべてのアイテムをクエリしたいと考えています。

次のクエリでこれを行います。

サブクエリ自体は高速に実行されます。

最初にクエリ自体を実行し、その結果を IN クエリに使用する場合

それも速いです。

ただし、クエリを組み合わせると非常に遅くなります (> 2 秒)。クエリ プランを調査すると、その理由がわかります。 .

このクエリを最適化する方法はありますか? サブクエリは常に小さな結果セット (<100 行) のみを返すことを知っています。

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

mysql - mySQL - EXPLAIN の結果を解釈してこのクエリを最適化するにはどうすればよいですか?

ここでの結果の意味を理解し、EXPLAINこのクエリとテーブルをできる限り最適化することを目指しています。

クエリ:

(編集された書式)

説明結果: