oracle 分表和分区哪个好_如何对oracle数据库分区进行更好的优化?

在墨天轮网站上看到一个类似的问题:对于亿级存量数据的这种 ,除归档转储/分区/分表外 ,Oracle还有其他可选的优化措施吗?

专家回答:压缩;ILM - 信息生命周期管理;隔离表空间只读; 物化视图。

知识拓展:

《 分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践(含PPT)》一文和大家分享了与分区相关的优化特性,主要会和大家介绍一些 Oracle 最新的分区技术以及我们在日常运营中的最佳实践。

《 10G开始Oracle区分物化视图和表》到了10g以后。很多功能会将表和物化视图区分对待。原本通用的COMMENT ON TABLE语句,对物化视图不再有效,必须要使用COMMENT ON MATERIALIZED VIEW语句代替。

Oracle 12.1 非常强大的一个功能点是索引异步维护。当创建范围分区时,由于经常要做 DDL 的清理,所以不建议大家去建全局索引。但是 Oracle 12 解决了这个问题,假设 1 月 4 日对应数据分区里有 31 万条记录,3 月 5 日对应的数据分区有近 30 万条记录,当我们去做创建分区操作时,花费时间大约为 0.18 秒,然后再检查状态时,不出意外,全局索引已经失效了。

重建之后,我们在分区创建时加上一个 Update Index 的操作,因为要同步 DDL 操作,它会更新所有状态,很多人认为它会变得非常慢,其实它只用了 0.17 秒,比之前的 0.18 秒还要快。这是因为 Oracle 12 之后,它会自动给数据打标识,并不是真正同步去维护,而是在后台异步维护,不仅提高了索引的可用性,同时还提高了效率。

标识,并不是真正同步去维护,而是在后台异步维护,不仅提高了索引的可用性,同时还提高了效率。

Oracle 12.2 很有意思的一个特性是自动列表分区,我们之前建议在列表分区时一定要加上 DEFAULT 值,否则数据插入会报错,尤其是当一张表只有一个 Keyboard,在自动列表分区中插入数据是非常困难的。而 Oracle 提供的很方便的功能是在线把一张普通表转换成分区表,这样我就不会因为是分区表而引入停机、维护等。

Oracle 18c 中针对这种情况提供了更强的改变,例如我创建了一个分区表和三个索引,当我从普通表变成分区表之后,但我对分区表策略不满意,可以直接通过 Oracle 语句来改变数据表策略,而且这个操作可以在 DDL 发生时在线去做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值