2009-08-31 3 views
2

通常のpk索引を2つのフィールドのクラスタ索引に置き換える必要があるSQL Server内の表があります。これらの他のフィールドは、ではなく、の主キーの一部です。非pkフィールドによるOracle IOTの索引付け

私はOracleで同様のことをする必要があります。私の知る限り、これはインデックス順テーブルを使って行うことができますが、私の推測では、これらのインデックスはプライマリキーでのみ構築されています。

OracleのSQLServerのクラスタ化インデックスと同様の動作が発生する可能性はありますか?

+0

pkを何か別のものに置き換えると、この 'else'がPKになるので、どこに問題がありますか? –

+1

お返事ありがとうございます。 pkを置き換える際の問題は、このテーブルがすでに広く使用されていることです。テーブルをインデックス化する必要があるフィールドは一意ではありません。このため、プライマリキーを置き換えることはできません。 – Mariano

+0

Oracle表の通常の索引では十分ではないのはなぜですか? – dpbradley

答えて

1

索引構成表は、oracleの概念であり、SQL Serverのクラスタ化索引に近いものです。私はoracleフォーラムのトピックについてdiscussionを、asktomに1つを見つけました。

私の質問は次のとおりです。なぜあなたはその動作を適応させたいのですか?あなたが得ようとしているメリットは何ですか?

SQL Serverのクラスタ化インデックスは主に主キーインデックスです。 Rowdataはインデックスノードに格納されます。行データを索引に格納するためのoracleのconecptは索引構成表です。 oracleでは、iotを使用して、索引参照後の行データの表への2回目の検索を回避します。

SQL Serverのクラスタ化インデックスの目的は、行データを格納することです。表には、クラスタ化された索引は1つしか存在できません。このインデックスは、行データを保持します。その他のインデックスは、クラスタ化されていないインデックスです。

IMHOクラスタ化インデックスの概念はSQL Serverのデータ記憶域にバインドされており、この動作をOracleで再構築する必要はありません。 Oracleには、データを格納するための他の概念があります。

回答: oracleの標準索引は、すべてあなたの問題を解決するためのものです。

関連する問題