我们有一个巨大的表,现在有 1.44 亿行可用,并且每天增加 100 万行。
我想在 Oracle 11G 服务器上创建一个分区表,但我不知道这些技术。所以我有两个问题:
- 是否可以从没有 PK 的表创建分区表?
- 您对创建像大记录这样的分区表有什么建议?
我们有一个巨大的表,现在有 1.44 亿行可用,并且每天增加 100 万行。
我想在 Oracle 11G 服务器上创建一个分区表,但我不知道这些技术。所以我有两个问题:
是的,但请记住,分区键必须是 PK 的一部分
避免全局索引
选择正确的分区键 - 为将来的某种维护做好准备(切断最旧或不必要的分区,将它们放在单独的表空间中......等)
有太多的事情要考虑。
“表上有几个非唯一索引。但是,性能真的很糟糕!只是简单的计数功能在 5 分钟后返回结果。”
分区不一定是性能增强器。分区键将允许某些查询从分区修剪中受益,即那些在 WHERE 子句中驱动分区键的查询。如果 WHERE 子句违反分区键的粒度,其他查询可能会执行得更差,
很难给出具体的建议,因为你发布的细节太模糊了。但这里有一些其他可能的加快大表查询速度的方法: