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

2021-12-29 21:42:29 字數 3286 閱讀 1070

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

雜湊分割槽 

雜湊分割槽是根據欄位的hash值進行均勻分布,盡可能的實現各分割槽所雜湊的資料相等。

還是剛才那個表,只不過把範圍分割槽改換為雜湊分割槽,語法如下(刪除表之後重建):

sql**:

create table graderecord02   

(   

sno varchar2(10),  

sname varchar2(20) ,   

dormitory varchar2(3) , 

grade int  

)   

partition by hash(sno)

(  partition p1  tablespace test01,

partition p2 tablespace test02,

partition p3 tablespace test03

);  

/插入實驗資料,與範圍分割槽實驗插入的資料相同。

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

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

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

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

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

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

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

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

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

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

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

然後查詢分割槽資料:

sql**:

select * from graderecord02 partition(p1);

select * from graderecord02 partition(p2);

select * from graderecord02 partition(p3);

p1分割槽的資料:

sql> select * from graderecord02 partition(p1);

sno        sname                dor      grade

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

511603     ???                  229         26

511608     ???                  240        100

sql> select * from graderecord02 partition(p2);

sno        sname                dor      grade

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

511602     ???                  229         62

511604     ???                  228         77

511605     ???                  228         47

511606     ???                  228

511607     ???                  240         90

511609     ???                  240         67

6 rows selected.

sql> select * from graderecord02 partition(p3);

sno        sname                dor      grade

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

511601     ???                  229         92

511610     ???                  240         75

511611     ???                  240         60

sql> select * from graderecord02;

sno        sname                dor      grade

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

511603     ???                  229         26

511608     ???                  240        100

511602     ???                  229         62

511604     ???                  228         77

511605     ???                  228         47

511606     ???                  228

511607     ???                  240         90

511609     ???                  240         67

511601     ???                  229         92

511610     ???                  240         75

511611     ???                  240         60

11 rows selected.

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

三 列表分割槽 列表分割槽明確指定了根據某字段的某個具體值進行分割槽,而不是像範圍分割槽那樣根據欄位的值範圍來劃分的。sql create table graderecord03 sno varchar2 10 sname varchar2 20 dormitory varchar2 3 grade...

oracle資料庫表分割槽

最近偶然有聽到資料庫表分割槽的概念,一時興趣來潮,就想去稍微了解下。對於我們一些專案,可能我們需要接入一些資料,時間越長,資料量就越多,資料庫表訪問就越慢。這時候適量的分割槽有助於提高資料庫表的訪問速度。一 首先說說比較常用的集中分割槽方法 範圍分割槽 時間分割槽 create table data...

Oracle資料庫只Dual表

1.dual 確實是一張表.是一張只有乙個字段,一行記錄的表.2.習慣上,我們稱之為 偽表 因為他不儲存主題資料.3.他的存在,是為了操作上的方便.因為select 都是要有特定物件的.如 select from mytable select from myview 等等.但如果我們不需要從具體的表...