本文主要是介绍ORACLE 根据某个字段固定值进行分区,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DROP TABLE TEST;
-- 根据产品PRODUCT_ID 进行分区
create table TEST
(
PHONE_NO VARCHAR2(20) NOT NULL,
PRODUCT_ID VARCHAR2(30) NOT NULL,
CHANNEL_ID VARCHAR2(20),
SCORE NUMBER(20, 4),
REGION_ID VARCHAR2(20)
)
partition by list
(
PRODUCT_ID
)
(
--partition PLAN_20180802142529717 values('20180802142529717'),
--partition PLAN_20170918153535905 values('20170918153535905'),
--partition PLAN_20170918152012716 values('20170918152012716'),
--partition PLAN_20170914154819661 values('20170914154819661'),
partition p_other values (default)
)
;
-- 判断分区是否存在, 没有分区的是不是得查20亿数据?
select table_name, partition_name, high_value, tablespace_name
from all_tab_partitions a
where a.table_owner = '{SCHEMAL}'
and table_name = UPPER('TEST')
and partition_name = UPPER('PLAN_20180802142529717');
-- 创建分区
alter table TEST
split partition p_other VALUES ('20180802142529717')
into (partition PLAN_20180802142529717,partition p_other);
这篇关于ORACLE 根据某个字段固定值进行分区的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!