sql - 是否可以将分区添加到 Oracle 中已经存在的表中?
问题描述
我有一个表 ( instrument_balance_hist
) 有近十亿行。我想按instrument_id
类型的属性对其进行分区NUMBER(6)
,我使用了查询:
ALTER TABLE instrument_balance_hist ADD PARTITION by RANGE( instrument_id ) (
partition p1 VALUE LESS THAN (100),
partition p2 VALUE LESS THAN (200),
partition p3 VALUE LESS THAN (300),
partition p4 VALUE LESS THAN (400),
partition p5 VALUE LESS THAN (500),
partition p6 VALUE LESS THAN (600)
);
和查询:
ALTER TABLE instrument_balance_hist ADD PARTITION by HASH (instrument_id)(
partition p1,
partition p2,
partition p3,
partition p4 );
两个查询都在“by”处返回无效的数据类型。现在我不确定是否可以对现有表进行分区,因为 youtube 上的所有教程都是通过制作重复表来实现的。
解决方案
推荐阅读
- r - Caret 无法正确安装/加载
- java - TextView setText 和共享首选项管理器
- asp.net-mvc-4 - 为什么包含项目的选项未在 MVC 4 中显示?
- java - 当我们已经拥有锁时,再次锁定可重入锁有什么帮助?
- json - 字符串是无效的 json 对象吗?
- rest - 通过 API-KEY 使用 Rest 端点将图像上传到 Google Cloud Storage
- ansible - 使用 ansible 创建 consul 集群的问题
- python - Django:发布到外键导致匹配查询不存在
- python - TypeError:切片索引必须是整数或无,或者在浮点数时间序列上具有 __index__ 方法
- jdbc - 当表和列存在时,为什么 uCanAccess 无法执行查询并出现错误“用户缺少权限或找不到对象”?