当前位置:首页 > 技能相关 > ORACLE > 正文内容

ORACLE 创建分区表(hash模式)

admin1年前 (2024-09-01)ORACLE4720 修订时间:2024-09-01 22:14:15

对于大数据量的表格,分区表有利于其数据的检索,以下是创建HASH模式的分区表,适合于无法区分数据的分表设置。

一、查看ORACLE数据库表空间文件路径

SELECT T.TABLESPACE_NAME,
D.FILE_NAME,
D.AUTOEXTENSIBLE,
D.BYTES,
D.MAXBYTES,
D.STATUS
FROM DBA_TABLESPACES T, DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME, FILE_NAME;

image.png

二、创建表空间

依据第一步查询到的表空间文件路径,通过以下语句创建符合自身要求的表空间;我这里新建的5个表空间,初始大小50MB,递增50MB,最大2048MB;

create tablespace 表空间名称
logging  
datafile '表空间DBF文件路径'
size 50m 
autoextend on  
next 50m maxsize 2480m  
extent management local;

三、创建分区表(HASH模式)

建表语句

与普通建表语句区别:通过partition关键字进行分区设置(数据将随机存放在5个表空间中);

create table COMM.AREA_5_DICT
(
  serial_id        NUMBER(20) not null,
  area_name        VARCHAR2(250) not null,
  area_code        VARCHAR2(40) not null,
  parent_code      VARCHAR2(40) not null,
  area_type        NUMBER(4),
  area_sort        NUMBER(20) default 0,
  status           NUMBER(1) default 0,
  name_path        VARCHAR2(355),
  code_path        VARCHAR2(220),
  creator          VARCHAR2(64),
  create_time      DATE default sysdate,
  updater          VARCHAR2(64),
  update_time      DATE default sysdate,
  deleted          NUMBER(4) default 0,
  tenant_id        NUMBER(20) default 0,
  create_user_name VARCHAR2(64),
  update_user_name VARCHAR2(64),
  input_code       VARCHAR2(64)
)
partition by hash (SERIAL_ID)
(
  partition PART1
    tablespace TBSP_AREA1,
  partition PART2
    tablespace TBSP_AREA2,
  partition PART3
    tablespace TBSP_AREA3,
  partition PART4
    tablespace TBSP_AREA4,
  partition PART5
    tablespace TBSP_AREA5
);

创建索引

create unique index COMM.PK_AERA5_1 on COMM.AREA_5_DICT (SERIAL_ID, AREA_NAME, AREA_CODE, PARENT_CODE)
  tablespace TSP_COMM
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

添加主键

alter table COMM.AREA_5_DICT
  add constraint PK_AERA5 primary key (SERIAL_ID)
  using index 
  tablespace TSP_COMM
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  )

 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/index.php?id=411

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。