VLDB超大資料庫 分割槽表之列表分割槽表詳解

2021-08-27 10:33:29 字數 3254 閱讀 6775

三:列表分割槽

列表分割槽明確指定了根據某字段的某個具體值進行分割槽,而不是像範圍分割槽那樣根據欄位的值範圍來劃分的。

sql**:

create table graderecord03

( sno varchar2(10),

sname varchar2(20),

dormitory varchar2(3),

grade int

) partition by list(dormitory)

( partition d229 values('229') tablespace test01,

partition d228 values('228') tablespace test02,

partition d240 values('240') tablespace test03

) 以上根據宿舍來進行列表分割槽,插入與範圍分割槽實驗相同的資料,做查詢如下:

sql**:

insert into graderecord03 values('511601','魁','229',92);

insert into graderecord03 values('511602','凱','229',62);

insert into graderecord03 values('511603','東','229',26);

insert into graderecord03 values('511604','亮','228',77);

insert into graderecord03 values('511605','敬','228',47);

insert into graderecord03(sno,sname,dormitory) values('511606','峰','228');

insert into graderecord03 values('511607','明','240',90);

insert into graderecord03 values('511608','楠','240',100);

insert into graderecord03 values('511609','濤','240',67);

insert into graderecord03 values('511610','博','240',75);

insert into graderecord03 values('511611','錚','240',60);

select * from graderecord03 ;

select * from graderecord03 partition(d229);

select * from graderecord03 partition(d228);

select * from graderecord03 partition(d240);

d229分割槽所得資料如下:

sql> select * from graderecord03 ;

sno sname dor grade

---------- -------------------- --- ----------

511601 ??? 229 92

511602 ??? 229 62

511603 ??? 229 26

511601 ??? 229 92

511602 ??? 229 62

511603 ??? 229 26

511604 ??? 228 77

511605 ??? 228 47

511606 ??? 228

511604 ??? 228 77

511605 ??? 228 47

sno sname dor grade

---------- -------------------- --- ----------

511606 ??? 228

511607 ??? 240 90

511608 ??? 240 100

511609 ??? 240 67

511610 ??? 240 75

511611 ??? 240 60

511607 ??? 240 90

511608 ??? 240 100

511609 ??? 240 67

511610 ??? 240 75

511611 ??? 240 60

22 rows selected.

sql> select * from graderecord03 partition(d229);

sno sname dor grade

---------- -------------------- --- ----------

511601 ??? 229 92

511602 ??? 229 62

511603 ??? 229 26

511601 ??? 229 92

511602 ??? 229 62

511603 ??? 229 26

6 rows selected.

sql> select * from graderecord03 partition(d228);

sno sname dor grade

---------- -------------------- --- ----------

511604 ??? 228 77

511605 ??? 228 47

511606 ??? 228

511604 ??? 228 77

511605 ??? 228 47

511606 ??? 228

6 rows selected.

sql> select * from graderecord03 partition(d240);

sno sname dor grade

---------- -------------------- --- ----------

511607 ??? 240 90

511608 ??? 240 100

511609 ??? 240 67

511610 ??? 240 75

511611 ??? 240 60

511607 ??? 240 90

511608 ??? 240 100

511609 ??? 240 67

511610 ??? 240 75

511611 ??? 240 60

10 rows selected.

sql>

oracle超大資料庫表分割槽只雜湊分割槽表詳解

oracle超大資料庫表分割槽只雜湊分割槽表詳解 雜湊分割槽 雜湊分割槽是根據欄位的hash值進行均勻分布,盡可能的實現各分割槽所雜湊的資料相等。還是剛才那個表,只不過把範圍分割槽改換為雜湊分割槽,語法如下 刪除表之後重建 sql create table graderecord02 sno var...

資料庫 分割槽表

步驟 先建立分割槽函式,在建立分割槽方案,最後使用分割槽方案建立表 首先熟悉一下建立分割槽函式 1 在int列上建立左側分割槽函式,下列分割槽函式將表分為四個分割槽。2 在int列上建立右側分割槽函式 3 在datatime列上建立右側分割槽函式,將資料表分為12個分割槽,每個分割槽對應dateti...

資料庫分割槽表關聯

場景 現實業務中有兩個表關係比較緊密,而且資料量比較大的時候,需要對兩個表都進行分割槽,並能很好的發揮分表作用 注意 資料庫表最好是在建立的時候就進行分割槽,不能對已經建立的普通表 堆表 再進行分割槽變為分割槽表,否則轉換起來比較麻煩。create table ocs collect people ...