Oracle表和索引分区 - 风险和劣势

时间:2016-12-07 10:26:16

标签: oracle oracle11g relational-database database-performance partitioning

我在数据库中有大量未分区的表(100GB +),为了提高性能我想考虑对它们进行分区,或者只是对索引进行分区。数据定期进行,并按日期选择,因此我认为按创建日期的月份进行范围划分将是很好的选择。

我正在阅读oracle table and index partitioning,看起来很有希望。 但我有两个问题,我无法找到答案(我认为我的谷歌技能正在下降)。

首先是:

在oracle中创建分区表和索引的风险和缺点是什么,特别是在如此大而活的表上?有什么我应该知道的吗?

第二:

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

1 个答案:

答案 0 :(得分:2)

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

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