問題タブ [query-planner]

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 に答える
445 参照

mongodb - Mongo が IXSCAN の実行後に FETCH で null フィルターをクエリする理由

Mongo Documentationによると、

{ item : null }クエリは、値が であるフィールドを含むドキュメント、またはそのフィールドを含まないドキュメントに 一致itemnullますitem

これに関するドキュメントは見つかりませんが、私が知る限り、両方のケース (値が存在nullするか、フィールドが欠落している) が としてインデックスに格納されnullます。

したがってdb.orders.createIndex({item: 1})、次にを実行すると、値が であるフィールドを含む、またはフィールドを含まないすべてのドキュメントと、それらのドキュメントのみが検索されることdb.orders.find({item: null})が期待されます。IXSCANitemnullitem

では、なぜdb.orders.find({item: null}).explain()を実行filter: {item: {$eq: null}}したFETCH後にステージで実行するのIXSCANですか? フィルターで除外する必要がある可能性のあるドキュメントはどれですか?

undefinedおそらく値は としてインデックス化されると思いましnullたが、単純な実験でこれが除外されます。

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

tsql - ORDER BY キーワードを持たない更新クエリのインデックス プランで Sort 演算子を避ける

更新クエリがあります:-

この上記のクエリでは、以下のように実行計画を取得しています。

実行計画

ORDER BY 句がないときにソート演算子を取得する理由と、それを回避するためにできることを理解しようとしています。

以下はテキストの計画です (別名 'Showplan_text'):

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

postgresql - postgresql 9.4 で GIN インデックス スキャンを強制する

私は場所のテーブルを持っています(約2900万行)

次のクエリがうまく機能することを望みます。

しかし、作成されたクエリ プランでは、シーケンシャル スキャンが使用されていることがわかります。

シーケンシャルスキャン強制OFF時

クエリ プランで gin インデックスが使用されるようになりました。

コスト設定を以下に貼り付けました。

前述のクエリに順次スキャンを使用しないソリューションと、順次スキャンをオフに設定するなどのトリックを探しています。

の値を 20 に更新しようとしましたseq_page_costが、クエリ プランは同じままでした。