国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

創建和使用分區的表

2024-07-21 02:38:48
字體:
來源:轉載
供稿:網友

   在Oracle里假如碰到非凡大的表,可以使用分區的表來改變其應用程序的性能。
  
   以system身份登陸數據庫,查看 v$option視圖,假如其中Partition為TRUE,則支持分區功能;否則不支持。Partition有基于范圍、哈希、綜和三種類型。我們用的比較多的是按范圍分區的表。
  
   我們以一個2001年開始使用的留言版做例子講述分區表的創建和使用:
  
  1 、以system 身份創建獨立的表空間(大小可以根據數據量的多少而定)
  
  create tablespace g_2000q4 datafile '/home/oradata/oradata/test/g_2000q4.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);
  
  create tablespace g_2001q1 datafile '/home/oradata/oradata/test/g_2001q1.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);
  
  create tablespace g_2001q2 datafile '/home/oradata/oradata/test/g_2001q2.dbf' size 50M default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);
  
  2 、用EXPORT工具把舊數據備份在guestbook.dmp中
  
  把原來的guestbook表改名
  
  alter table guestbook rename to guestbookold;
  
  以guestbook 身份創建分區的表
  
  create table guestbook(
   id number(16) PRimary key,
   username varchar2(64),
   sex varchar2(2),
   email varchar2(256),
   expression varchar2(128),
   content varchar2(4000),
   time date,
   ip varchar2(64)
  )
   partition by range (time)
   (partition g_2000q4 values less than (to_date('2001-01-01','yyyy-mm-dd'))
   tablespace g_2000q4
   storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),
   partition g_2001q1 values less than (to_date('2001-04-01','yyyy-mm-dd'))
   tablespace g_2001q1
   storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),
   partition g_2001q2 values less than (to_date('2001-07-01','yyyy-mm-dd'))
   tablespace g_2001q2
   storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0)
   );
  
  (說明:分區的名稱可以和表空間的名稱不一致。這里是每個季度做一個分區,當然也可以每個月做一個分區)
  
  3、IMPORT導入數據,參數ignore=y
  
  4、分區表的擴容:
  
  到了2001 年下半年,建立新的表空間:
  
  create tablespace g_2001q3 datafile '/home/oradata/oradata/test/g_2001q3.dbf' size 50m default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);
  
  為表添加新分區和表空間:
  
  alter table guestbook add partition g_2001q3
  values less than (to_date('2001-10-01','yyyy-mm-dd')
  tablespace g_2001q3
  storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0);
  
  5、刪除不必要的分區
  
  將2000年的數據備份(備份方法見 6、EXPORT 分區),將2000年的分區刪除。

  
  alter table guestbook drop partion g_2000q4;
  
  刪除物理文件
  
  %rm /home/oradata/oradata/test/g_2000q4.dbf
  
  6、EXPORT 分區:
  
  % exp guestbook/guestbook_passWord tables=guestbook:g_2000q4 rows=Y file=g_2000q4.dmp
  
  7、IMPORT分區:
  
  例如在2001 年,用戶要查看2000 年的數據,先創建表空間
  
  create tablespace g_2000q4 datafile '/home/oradata/oradata/test/g_2000q4.dbf' size 50m default storage (initial 100k next 100k minextents 1 maxextents unlimited pctincrease 1);
  
  為表添加新分區和表空間:
  
  alter table guestbook add partition g_2000q4
  values less than (to_date('2001-01-01','yyyy-mm-dd')
  tablespace g_2001q3
  storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0);
  
  導入數據
  
  %imp guestbook/guestbook_password file=g_2000q4.dmp tables=(guestbook:g_2000q4) ignore=y
  
  (說明:假如不指明導入的分區,imp會自動按分區定義的范圍裝載數據)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金堂县| 资兴市| 镇赉县| 陇西县| 汤原县| 新竹市| 和顺县| 江油市| 青岛市| 竹山县| 鹰潭市| 白水县| 阿尔山市| 务川| 容城县| 宁武县| 南召县| 屏山县| 类乌齐县| 张家口市| 来安县| 洛浦县| 同心县| 略阳县| 舒城县| 岚皋县| 赤城县| 永春县| 那曲县| 福清市| 武义县| 达日县| 土默特右旗| 桓仁| 巴林右旗| 伊金霍洛旗| 和林格尔县| 林周县| 太仆寺旗| 新营市| 渝北区|