SQL> set timing on;
SQL> create index INDEX_NAME on TABLE_NAME(NAME) initrans 6 NOLOGGING PARALLEL 6 online;
- 并行度一般看CPU 個數。當然在CPU 比較空閑的情況下可以多并行幾個。對于單CPU 不建議用并行,這樣反而會增加創建時間。
- 每個塊都有一個塊首部。這個塊首部中有一個事務表。事務表中會建立一些條目來描述哪些事務將塊上的哪些行/元素鎖定。這個事務表的初始大小由對象的INITRANS 設置指定。對于表,這個值默認為2(索引的INITRANS 也默認為2)。事務表會根據需要動態擴展,最大達到MAXTRANS 個條目(假設塊上有足夠的自由空間)。所分配的每個事務條目需要占用塊首部中的23~24 字節的存儲空間。注意,對于Oracle 10g,MAXTRANS 則會忽略,所有段的MAXTRANS 都是255。
也就是說,如果某個事物鎖定了這個塊的數據,則會在這個地方記錄事務的標識,當然那個事務要先看一下這個地方是不是已經有人占用了,如果有,則去看看那個事務是否為活動狀態。如果不活動,比如已經提交或者回滾,則可以覆蓋這個地方。如果活動,則需要等待(閂的作用)。
所以,如果有大量的并發訪問使用的這個塊,則參數不能太小,否則資源競爭將導致系統并發性能下降。