暂无图片
Oracle在做分区表时,一般是怎么分的?头疼。。。
我来答
分享
redgame
2023-08-09
Oracle在做分区表时,一般是怎么分的?头疼。。。
1
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Godspeed

看使用场景了,目前比较常用的使用场景有:

1,按日期归档数据,清理数据。这种场景很容易理解,可以按时间分区,范围分区和列表分区(把日期作为字符串)都行。清理数据时候直接把分区删除。需要注意索引要用local的,global索引删除后会失效,需要重建。

2,大表提高并发度,合规化。超过2000w数据的表都属于大表了。这时候可以考虑切换成分区表提高性能。有明显业务分区逻辑的,可以按照业务逻辑分区。没有的,可以使用hash分区。

暂无图片 评论
暂无图片 有用 2
暂无图片
伟鹏

oracle表分区一般有几种:范围分区,列表分区,哈希分区,复合分区,虚拟列分区。

怎么分区还是根据业务逻辑来说的,我这用的比较多的就是范围分区,就是根据年月分区,或者id值来分区的。给你个示例

CREATE TABLE sales
(
sale_id NUMBER,
sale_date DATE,
sale_amount NUMBER
)
PARTITION BY RANGE (sale_date)
(
PARTITION sales_q1 VALUES LESS THAN (TO_DATE('01-APR-2023', 'DD-MON-YYYY')),
PARTITION sales_q2 VALUES LESS THAN (TO_DATE('01-JUL-2023', 'DD-MON-YYYY')),
PARTITION sales_q3 VALUES LESS THAN (TO_DATE('01-OCT-2023', 'DD-MON-YYYY')),
PARTITION sales_q4 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY'))
);

暂无图片 评论
暂无图片 有用 2
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏