2017-03-22 14 views
0

特定の表の次数が1でインスタンスが1で、その表の索引の1つに16のDOPと1のインスタンスがある4ノードのRACが設定されています。テーブルとインデックスが同じDOPを持つべきであるという制限があるかどうかを知りたいだけですか?そうでない場合は、データベースにどのような影響を与えますか。表と索引でのOracleの並列度

答えて

1

表と脊柱指数(DOP)は独立しています。

FULL TABLE SCANなどのテーブルアクセスの場合は、テーブルDOPがデフォルトとして使用されます。索引DOPがデフォルトとして使用される索引アクセス・パスでは、一部の索引アクセス・パスを並列化できます。

を作成してインデックスをパラレルオプションで作成するのが一般的です。使用されたDOPは、作成された索引に格納されます。 (に変更する必要があります。インデックスDOPはNOPARALLELになります)。ここで

少し例、パラレルモードでインデックスを作成し、その後DOPをreeting:generallで

create index idx on t1(id) parallel 4; 

select DEGREE, INSTANCES from user_indexes where index_name = 'IDX'; 

DEGREE         INSTANCES        
---------------------------------------- ---------------------------------------- 
4          1          

alter index idx noparallel; 

select DEGREE, INSTANCES from user_indexes where index_name = 'IDX'; 

DEGREE         INSTANCES        
---------------------------------------- ---------------------------------------- 
1          1  

それはすべてクエリに対して有効であるとして、オブジェクトベースのデフォルトのDOPで気をつけなければなりません。 PARALLEL Hintを使用してクエリごとに明示的なDOPを定義する方が柔軟性があります。

+0

私はそれらのテーブルとインデックスを作成した開発者に尋ねました。彼は明示的に作成時にDOPについて言及していないと言いました。 DBが自動的にその値を設定している可能性があります。私が見なければならない特定のパラメータ? – redsoxlost

+0

@redsoxlostは命題を中継しないで、システムをチェックしてください:)私は例を追加しました。独自のインデックスを作成し、DOPを確認します。 IMOは、データベース、インスタンス、テーブル、またはインデックスの機能ではありませんが、特定のクエリに対して設定する必要があります。 –

0

自分自身でそれをチェックして、インデックスとそれに関連付けられたテーブルが同じDOPを持つような制限はありません。データベースに影響を与える唯一の方法は、並列プロセスによるサーバーへの余分な負荷です。

+0

Thanks Sandeep。チェックしたリンクを共有してください。 – redsoxlost

+0

:)ローカルシステムでそれを確認しました – Sandeep

関連する問題