Oracleで強制インデックスを使用する方法と注意点を詳しく解説

小云云
リリース: 2017-12-11 14:34:46
オリジナル
1971 人が閲覧しました

この記事では、Oracle で強制インデックスを使用する方法と注意事項を主に紹介し、サンプル コードを通じて詳細に紹介しています。必要な方は、以下のエディターを参照してください。一緒に学びましょう。皆さんのお役に立てれば幸いです。

Oracle は強制インデックスを使用します

一部のシナリオでは、ORACLE が自動的にインデックスを作成しない場合があります。この時点で、ビジネスにとって明らかな場合は、クエリ ステートメントのパフォーマンスをテストするために強制インデックスを使用してみることができます。

EMP テーブルを例に挙げます。

最初に、図に示すように、EMP テーブルに一意のインデックスを作成します。

通常の検索:

SELECT * FROM EMP T
ログイン後にコピー

実行計画の表示:

フルテーブルスキャンであることがわかります。

強制インデックスを使用し、SELECT の後に /*.....*/ を追加し、途中にインデックス属性を追加します。 コードは次のとおりです。インデックス PK_EMP が使用されます。

Oracleで強制インデックスを使用する場合の注意点

最近OracleのSQLインデックスの有効条件を検証したところ、次のルールが見つかりました。以下のように記録されています:

1. 有効なインデックスはレコード数に関連しています : 2016-01-01 ~ 2016-11-30 データ量は 402518、インデックスは有効です

2016-01-01 ~ 2016-12 -30 データ ボリュームは 444844 にすることができますが、インデックスは有効ではありません

SELECT /*+index(t pk_emp)*/* FROM EMP T 

--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:加号index(表名 空格 索引名)。
--如果表用了别名,注释里的表也要使用别名。
ログイン後にコピー

2. T_MAINS は特定の時間型フィールドに従ってパーティション化されており、クエリ条件内で特定のパーティションを正確に見つけることができれば、SQL の実行効率を向上させることができます

関連する推奨事項:

MySQLとOracleデータベースの停止と開始バッチファイル

HINTメソッドを使用してインデックスを強制する

MySQLデータベースまたはOracleにテーブルファイルをインポートする方法

以上がOracleで強制インデックスを使用する方法と注意点を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート