Oracle 12c
データベースで作業しています。 私はテーブルにたくさんの質問があります。 1つの問合せではwhere句で列AとBを使用し、別の問合せではwhere句でA、B、C、D & E列を使用します。私は質問をスピードアップしたい。他のインデックスのすべての列を含むOracleインデックス
は、私は私の第2のインデックスは、実際には最初のインデックス列を含み、2の非ユニーク索引、& B上の一方と上の一& & B C D & & Eを追加しました。これは正しいですか?技術的に間違っている?それともそれは、
異なる列でテーブルがクエリされる場合、インデックスのベストプラクティスは何ですか?インデックスの影響は何ですか?
ありがとうございました。 「...索引の主要部分を使うことができる」ということについて、私の最初の索引がA、Bの代わりにC、Dだったらどうなるでしょうか? ABCDEインデックスはC、Dインデックスもカバーしていますか?私もCを望むなら、D indexは別のインデックスとして宣言すべきでしょうか? –
インデックスが(A、B、C、D、E)であり、C、Dのどこにある場合、オプティマイザ*はインデックススキップスキャン操作を使用することがあります。しかし、これらは正確にはコストがかかりにくいことが知られており、しばしばうまく機能しません。その場合、ちょうど(C、D)のインデックスが必要な場合があります。しかし、あなたはインデックスbloatとなるので、狂ったし、すべての組み合わせのインデックスを開始しないでください! – BobC
haha :)ありがとうBob、私は絶対に冗長なインデックスを持つデータベースを吹くつもりはない、私はグーグルと詳細を達成するために最適化ソリューションを勉強しています。 –