Oracle table 和索引分区 - 风险和缺点

Oracle table and index partitioning - risk and disadvantages

我在数据库 (100GB+) 中有大量未分区的 table,为了提高性能,我考虑对它们进行分区,或者可能只是索引。数据定期进入,并按日期选择,所以我认为按创建日期月份进行范围分区是个不错的选择。

我正在阅读 oracle table and index partitioning,它看起来很有前途。 但是我有两个问题,我找不到答案(我认为我的 google 技能正在下降)。

第一个是:

在 Oracle 中创建分区的 table 和索引有哪些风险和缺点,尤其是在如此大且活跃的 table 上?有什么我应该知道的吗?

第二个:

如何在现有和未分区的 table 或索引上创建分区?

  1. 除了对数据进行分区所需的中断(见下文)之外,我看到的主要风险是,如果您决定使用本地索引对 table 和索引进行分区,您的性能对于不依赖分区键(日期)的查询来说不是很好。但是你可以在那种情况下使用全局索引,然后返回到类似的性能。

  2. 到目前为止,从未分区的 table 创建分区的最简单方法是使用 create table as select 和新名称以及所有分区存储详细信息,删除未分区的 table 并将新的 table 重命名为旧的 table 。显然,这需要仔细准备,并且可能会持续几分钟的中断:)