この記事では、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 にすることができますが、インデックスは有効ではありません
2. T_MAINS は特定の時間型フィールドに従ってパーティション化されており、クエリ条件内で特定のパーティションを正確に見つけることができれば、SQL の実行効率を向上させることができます 関連する推奨事項: MySQLとOracleデータベースの停止と開始バッチファイル HINTメソッドを使用してインデックスを強制する MySQLデータベースまたはOracleにテーブルファイルをインポートする方法 以上がOracleで強制インデックスを使用する方法と注意点を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。SELECT /*+index(t pk_emp)*/* FROM EMP T
--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:加号index(表名 空格 索引名)。
--如果表用了别名,注释里的表也要使用别名。