close

Fragment 的目的有三個:

1. Parallelism
你可以平行存取 fragment , 減少 scan and insert 時間.
2. Fragment elimination
你的sql可以存取可以清楚知到哪些fragment無須掃描,減少scan and insert 時間,
並且減少 disk contention(硬碟爭議)!!
3. Fragment elimination and Parallelism
同時達到兩個目的 !!!!

insert 需要 fetch 的部分,以及update,select,delete 都可以作到
fragment elimination , 只要 sql 有作過 optimized !!

round robin 的 fragment ,Parallelism 是default access schema,
不過 , round robin 無法 作到 fragment elimination !!

IDS 10.0 之前, table 在一個 dbspace 只能有一個 fragment ...
create table tablename...fragment by expression
in dbspace1 ,
in dbspace2 ,
in dbspace3 ;
IDS 10.0 之後 , table 可以在一個dbspace擁有多個fragments ,
create table ta1(a int) fragment by expression
partition part1(a>=0 and a < 5) in dbs1 ,
partition part2(a>=5 and a < 10) in dbs1 ,
....

index : attached and detached :

7.3之前的 IDS , default "attached" :
-- data page and index page 混在同一個 extent 裡面 .
-- index fragment(s) 總是和 table fragment(s) 在同一個 dbspace(s) .
-- index fragment 所指向的 data fragment , 一定跟 index fragment 在同一個dbspace!!

9.20 之後 IDS , default "detached"
-- index page 有自己的 extents
-- index 跟 data 可以分布在相同或是不同的dbspace

舉例來說, create table...;load data...;create index...
在 7.x , data page and index page 會存在同一個 extent , 但是 9.20之後的IDS會
產生放 index 的 extent ,還有放 data 的 extent !!

如果是 create table...;load data...;create index...in ;
或是 create table....;load data...;create index ...fragment by ... ;
IDS 7.x and 9.2 之後都可以作到 data extent 跟 index extent 在不同 dbspace ,
所以合乎 detached index 的定義!!!

create table ..fragment by...;load data...;create index...;
這個情況, index 也會隨著 data fragment 產生 index fragment 在同一個dbspace ,
index page 有自己的 extent ..

Attached index and detached 重點應該在於: index fragment 跟 data fragment 對應關係 ,
index fragment 分布如果跟 data fragment 分布都一樣,且,單一dbspace 的 index fragment
都是指向同一個dbspace的data fragment , 而不會有 跨 dbspace 的指標,應該就是合乎
attached index 的定義 , data page and index page 混在同一個 extent 裡面 這個問題 ,
對規劃 fragment 不是重點!!!

Btree cleaner 9.3 之前版本並無效率,且只有一個,容易被單一事件卡住!!
9.4之後可以config多個threads,且有priority觀念,10.0之後可以config page size 從 2k ~16k ,
每個 dbspace的page size可以不一樣,大一點的page size 對 index 的 search 有幫助!!!

Create[Drop] index ...online , 可以不 exclusive lock 之下,create/drop index

arrow
arrow
    全站熱搜

    hedgezzz 發表在 痞客邦 留言(0) 人氣()