【實驗】【聚簇】聚簇(Cluster)和聚簇表(Cluster Table)的建立與總結
【實驗優先】演示標準建立和刪除過程
1.建立聚簇
sec@ora10g> create cluster cluster_test(id int);
Cluster created.
2.建立聚簇表
sec@ora10g> create table tab_cluster1(id int primary key, name1 varchar2(30)) cluster cluster_test(id);
Table created.
sec@ora10g> create table tab_cluster2(id int primary key, name2 varchar2(30)) cluster cluster_test(id);
Table created.
3.建立聚簇索引
sec@ora10g> create index idx_cluster_test on cluster cluster_test;
Index created.
4.刪除聚簇
sec@ora10g> drop cluster cluster_test including tables;
Cluster dropped.
5.檢視聚簇表所屬的聚簇
sec@ora10g> select owner,table_name,cluster_name from dba_tables where wner='SEC' and table_name in ('TAB_CLUSTER1','TAB_CLUSTER2');
OWNER TABLE_NAME CLUSTER_NAME
-------------- ------------------- ---------------
SEC TAB_CLUSTER2 CLUSTER_TEST
SEC TAB_CLUSTER1 CLUSTER_TEST
【總結ing】
聚簇(Cluster)和聚簇表(Clustered Table)的優點:
1.表中的資料一起儲存在簇中,連線這些表的查詢就可能執行更少的I/O,改善系統效能
2.對於經常一同查詢的表可以明顯的加速表的連線(Join)
3.非常適合查詢頻繁的環境
聚簇(Cluster)和聚簇表(Clustered Table)的缺點:
1.因為是一類比較特殊的物件,所以增加了資料庫的管理負擔
2.非常不適合更改頻繁的環境
3.如果聚簇表總是在一起查詢,考慮是否可以將他們合併為一個表
聚簇(Cluster)和聚簇表(Clustered Table)的特點:
1.聚簇由多個表組成
2.幾個表共享相同的資料塊
3.一個聚簇有一個或者多個公共的列,多個表共享這些列,這樣的列叫做:聚簇關鍵字或簇鍵(Cluster Key)
4.Oracle把多個表的資料物理地儲存在一起
【BTW】
聚簇表中插入資料之前,聚簇上需先有聚簇索引。否則會出現如下的錯誤:
sec@ora10g> select * from tab_cluster1;
select * from tab_cluster1
*
ERROR at line 1:
ORA-02032: clustered tables cannot be used before the cluster index is built
-- The End --
1.建立聚簇
sec@ora10g> create cluster cluster_test(id int);
Cluster created.
2.建立聚簇表
sec@ora10g> create table tab_cluster1(id int primary key, name1 varchar2(30)) cluster cluster_test(id);
Table created.
sec@ora10g> create table tab_cluster2(id int primary key, name2 varchar2(30)) cluster cluster_test(id);
Table created.
3.建立聚簇索引
sec@ora10g> create index idx_cluster_test on cluster cluster_test;
Index created.
4.刪除聚簇
sec@ora10g> drop cluster cluster_test including tables;
Cluster dropped.
5.檢視聚簇表所屬的聚簇
sec@ora10g> select owner,table_name,cluster_name from dba_tables where wner='SEC' and table_name in ('TAB_CLUSTER1','TAB_CLUSTER2');
OWNER TABLE_NAME CLUSTER_NAME
-------------- ------------------- ---------------
SEC TAB_CLUSTER2 CLUSTER_TEST
SEC TAB_CLUSTER1 CLUSTER_TEST
【總結ing】
聚簇(Cluster)和聚簇表(Clustered Table)的優點:
1.表中的資料一起儲存在簇中,連線這些表的查詢就可能執行更少的I/O,改善系統效能
2.對於經常一同查詢的表可以明顯的加速表的連線(Join)
3.非常適合查詢頻繁的環境
聚簇(Cluster)和聚簇表(Clustered Table)的缺點:
1.因為是一類比較特殊的物件,所以增加了資料庫的管理負擔
2.非常不適合更改頻繁的環境
3.如果聚簇表總是在一起查詢,考慮是否可以將他們合併為一個表
聚簇(Cluster)和聚簇表(Clustered Table)的特點:
1.聚簇由多個表組成
2.幾個表共享相同的資料塊
3.一個聚簇有一個或者多個公共的列,多個表共享這些列,這樣的列叫做:聚簇關鍵字或簇鍵(Cluster Key)
4.Oracle把多個表的資料物理地儲存在一起
【BTW】
聚簇表中插入資料之前,聚簇上需先有聚簇索引。否則會出現如下的錯誤:
sec@ora10g> select * from tab_cluster1;
select * from tab_cluster1
*
ERROR at line 1:
ORA-02032: clustered tables cannot be used before the cluster index is built
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-610869/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 聊聊Oracle聚簇Cluster(上)Oracle
- 淺談聚簇索引與非聚簇索引索引
- MySQL中的聚簇索引和非聚簇索引MySql索引
- Oracle聚簇表Oracle
- MySQL聚簇索引和非聚簇索引的原理及使用MySql索引
- 聚簇索引索引
- 聚簇表簡介
- 資料庫表,索引(索引組織表,聚簇表,聚簇索引,)資料庫索引
- 一分鐘明白MySQL聚簇索引和非聚簇索引MySql索引
- oracle 聚簇表學習Oracle
- 聚簇因子的理解
- 聚簇索引和非聚簇索引到底有什麼區別?索引
- ORACLE 聚簇因子優化Oracle優化
- oracle簇clusterOracle
- MySQL 聚簇索引 和覆蓋索引MySql索引
- 一看就懂的MySQL的聚簇索引,以及聚簇索引是如何長高的MySql索引
- InnoDB學習(八)之 聚簇索引索引
- 資料庫聚簇索引——not null條件對唯一鍵索引成為聚簇索引的影響資料庫索引Null
- 什麼是Oracle簇(CLUSTER)表Oracle
- 聚簇因子和執行計劃的聯絡
- Oracle的簇與簇表Oracle
- MySQL 聚簇索引一定是主鍵嗎MySql索引
- MySQL innodb如何選擇一個聚簇索引MySql索引
- oracle cluster(簇)的簡單使用Oracle
- clustering factor索引聚簇因子和執行計劃索引
- 理解索引和聚簇——效能調整手冊和參考索引
- 淺談索引系列之聚簇因子(clustering_factor)索引
- 【Mysql】InnoDB 中的聚簇索引、二級索引、聯合索引MySql索引
- 簇表及簇表管理(Index clustered tables)Index
- [MySQL]為什麼非聚簇索引不儲存資料位置MySql索引
- 關於索引聚簇因子(CLUSTERING_FACTOR)引起的sql優化過程索引SQL優化
- 【效能優化】Oracle 效能優化:降低列值聚簇因子 提高查詢效率優化Oracle
- 一篇文章講清楚MySQL的聚簇/聯合/覆蓋索引、回表、索引下推MySql索引
- 一次簡單的效能優化診斷,聚簇因子過高導致全表掃描。優化
- 【效能最佳化】Oracle 效能最佳化:降低列值聚簇因子 提高查詢效率Oracle
- oracle中的簇Oracle
- MySQL的B+Tree索引到底是咋回事?聚簇索引到底是如何長高的?MySql索引
- exec函式簇函式