Oracle 创建分区表

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--查看数据库中所有用户的分区表
SELECT * FROM DBA_TABLES WHERE PARTITIONED='YES' AND OWNER NOT IN ('SYSTEM','SYS') ORDER BY OWNER
--查看当前用户下的分区表
SELECT * FROM USER_TABLES WHERE PARTITIONED='YES'
--创建分区表--注意 PARTITION 的字段不能为空
CREATE TABLE TABLE_TEST
(  
    ID VARCHAR2(36 CHAR) NOT NULL PRIMARY KEY,
    EVENT_ID VARCHAR2(36 CHAR),
    PATIENT_ID VARCHAR2(36 CHAR),
    PATIENT_NAME VARCHAR2(50 CHAR),
    WARD_ID VARCHAR2(36 CHAR),
    WARD_NAME VARCHAR2(50 CHAR),
    ISSUE_TIME DATE
)
PARTITION BY RANGE (ISSUE_TIME)
INTERVAL ( NUMTOYMINTERVAL (3, 'MONTH') )  --每3个月建一个分区
(
 PARTITION P1 VALUES LESS THAN (TO_DATE('2018-1-1', 'YYYY-MM-DD')) --15年之前的数据统一建一个分区
)
 
--将现有表修改成分区表(此方法配合 RENAME TABLE_NAME TO TABLE_NAME_NEW 适用于数据迁移)
CREATE TABLE E_CHARGE_RECORD_1
PARTITION BY RANGE (ISSUE_TIME)
INTERVAL ( NUMTOYMINTERVAL (3, 'MONTH') )  --每3个月建一个分区
(
     PARTITION P1 VALUES LESS THAN (TO_DATE('2015-1-1', 'YYYY-MM-DD')) --15年之前的数据统一建一个分区
)
AS
SELECT * FROM E_CHARGE_RECORD;

 测试效果

posted @   VipSoft  阅读(305)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2012-04-27 Windows Server 2008 DNS服务器安装与配置
点击右上角即可分享
微信分享提示