前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >91-oracle普通表改分区表的几种方法

91-oracle普通表改分区表的几种方法

作者头像
老虎刘
发布2022-06-22 18:31:37
1.6K0
发布2022-06-22 18:31:37
举报

在对很多客户的oracle数据库做优化的时候发现, 很多系统都有一些大表没有做分区, 导致性能不佳和维护不便.

下面介绍4种普通表改分区表的方法, 供参考:

方法1:

新建分区表, 然后insert select; 或者在创建新分区表的同时插入(CTAS ,create table as select). 完成后做两次rename table操作.

方法2:

在线重定义, 使用DBMS_REDEFINITION, 步骤有点复杂 ,网上有很多介绍该方法的文章, 可以百度一下.

方法3:

创建只有一个分区的分区表, 用exchange partition将原表变成分区表后,再split partition.

方法4:

适用12.2+版本, 可以直接通过alter table xxx modify 命令, 将表直接改成分区表, 支持online不停业务.

推荐使用方法3和4, 符合版本要求就用4. 其他几个方法版本8.x以上都支持.

上面只是简单介绍了方法, 具体还有很多细节, 包括global index/local index的选择, 如何用最短时间完成,减少对业务的影响等. 多测试,多比较,实践出真知.

另外, 分区字段和分区类型的选择, 也是非常重要的, 需要结合业务好好研究再做决定. oracle的分区是一个很好的功能, 以后有机会可以作为一个培训技术专题给大家分享.

如果大家还有更好的方法, 请在留言区留下您的建议, 多谢!

大表操作有风险, 祝一帆风顺!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老虎刘谈oracle性能优化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档