在没有PK的情况下创建Oracle分区表

时间:2012-06-29 12:34:24

标签: performance oracle partitioning

我们有一个巨大的桌子,现在有1.44亿行可用,每天也增加100万行。

我想在Oracle 11G服务器上创建一个分区表,但我不知道这些技术。所以我有两个问题:

  1. 是否可以从没有PK的表创建分区表?
  2. 您有什么建议创建像巨大记录一样的分区表?

2 个答案:

答案 0 :(得分:1)

  1. 是的,但请记住,分区键必须是PK的一部分

  2. 避免使用全局索引

  3. 选择正确的分区键 - 准备好进行某种未来的维护(切断最旧或不必要的分区,将它们放在单独的表空间中等等)

  4. 有太多事情要考虑。

答案 1 :(得分:1)

  

“桌子上有几个非唯一索引。但是,性能   真是太可怕了!只是简单的计数功能就是返回结果   5分钟。“

分区不一定是性能增强器。分区键将允许某些查询受益于分区修剪,即那些驱逐WHERE子句中的分区键的查询。如果WHERE子句针对分区键的粒度运行,则其他查询可能会执行得更糟,

很难提供具体建议,因为您发布的详细信息非常模糊。但是这里有一些其他可能的方法来加速对大表的查询:

  • 索引压缩
  • 并行查询
  • 更好,可能是复合索引。