2017-03-22 55 views
0

的我們有建立與在某些表中有一個度爲1 4個節點和實例的RAC是1,並且在該表中的索引中的一個具有DOP作爲16和實例1。只是想知道是否有任何限制,表和索引應該有相同的DOP?如果不是這種情況,那麼它將如何影響數據庫。度並行Oracle中上一個表和索引

回答

1

表和索引程度的平行(DOP)是獨立的。

表DOP在的表訪問諸如FULL TABLE SCAN情況下作爲缺省值。某些索引訪問路徑可以並行化,因爲索引DOP被用作默認值。

您通常情況出現,如果你創建和帶有並行選項指數。已使用的DOP存儲在創建的索引中。 (可能你只需要alter索引DOP到NOPARALLEL創建之後)。

這裏一個littele例如,創建並行模式的索引,之後reeting的DOP:

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  

在generall你應該小心使用基於對象的默認DOP,因爲它是適用於所有查詢。使用PARALLEL Hint爲每個查詢定義明確的DOP可能更靈活。

+0

我詢問是誰創造了這些表和索引的開發者,他說,他沒有在創建時explicitlyu提到DOP。 DB可能會自動設置該值。我需要看的任何特定參數? – redsoxlost

+0

@redsoxlost不接受命題,檢查系統:)我添加了一個例子。創建您自己的索引並驗證DOP。再次IMO並行度不是數據庫,實例,表或索引的特徵,但應該爲特定查詢設置。 –

0

檢查它自己有沒有一個指標及其關聯的表應該有相同的DOP這樣的限制。它影響數據庫的唯一方式是由於並行進程而導致服務器額外負載。

+0

謝謝Sandeep。請您分享您檢查過的鏈接。 – redsoxlost

+0

:)在我的本地系統上檢查它 – Sandeep