DBAplus社群 openGauss魔改PG?它能兼容Oracle的数据库表吗?( 四 )
LINE2:PARTITIONBYHASH(deptno)
4、复合分区
对于分区表来说 , 数据倾斜的问题通常是最头疼的 。 为了解决这个问题 , Oracle提供了复合分区的功能 。 复合分区是先使用范围分区 , 然后在每个分区内再使用散列分区/列表分区的一种分区方法 。 不过目前版本openGauss无法支持复合分区 。
postgres=#CREATETABLEt_sub_partition
(dept_nonumber,countryvarchar2(20),sale_datedate)
PARTITIONBYRANGE(sale_date)
SUBPARTITIONBYLIST(country)
(PARTITIONq1_2012VALUESLESSTHAN('2012-Apr-01')
(SUBPARTITIONq1_europeVALUES('FRANCE','ITALY'),
SUBPARTITIONq1_asiaVALUES('INDIA','PAKISTAN'),
SUBPARTITIONq1_americasVALUES('US','CANADA')),
PARTITIONq2_2012VALUESLESSTHAN('2012-Jul-01')
(SUBPARTITIONq2_europeVALUES('FRANCE','ITALY'),
SUBPARTITIONq2_asiaVALUES('INDIA','PAKISTAN'),
SUBPARTITIONq2_americasVALUES('US','CANADA')),
PARTITIONq3_2012VALUESLESSTHAN('2012-Oct-01')
(SUBPARTITIONq3_europeVALUES('FRANCE','ITALY'),
SUBPARTITIONq3_asiaVALUES('INDIA','PAKISTAN'),
SUBPARTITIONq3_americasVALUES('US','CANADA')),
PARTITIONq4_2012VALUESLESSTHAN('2013-Jan-01')
(SUBPARTITIONq4_europeVALUES('FRANCE','ITALY'),
SUBPARTITIONq4_asiaVALUES('INDIA','PAKISTAN'),
SUBPARTITIONq4_americasVALUES('US','CANADA')));
ERROR:syntaxerroratornear"SUBPARTITION"
LINE3:SUBPARTITIONBYLIST(country)七、嵌套表
嵌套表类似C语言中的结构体 , 可以把一个表结构定义为一个类型 , 在创建其他表的时候 , 可以将字段类型指向这个自定义类型 。 openGauss中可以通过createtype进行嵌套表定义 。
postgres=#CREATETYPEt_typeAS(f1int,f2text);
CREATETYPE
postgres=#CREATETABLEt_compfoo(aint,bt_type);
CREATETABLE总结
总体而言 , openGauss兼容Oracle常用表类型 , 索引组织表需要用集群索引方式进行改造 。 对于少数非常用数据类型 , 需要进行少量代码改造 , 可采取下列替代方案进行替换 。
文章图片
openGauss可替代Oracle吗?从字段类型说起……
- 真创业者真创业者社群:2020年10月16日投融资事件汇总[共36起,中国24起]
- 颜某人 如何选择靠谱社区团购小程序系统?,“社群+小程序”成热门趋势
- 世纪智仁 社群运营不用愁!,学了这3个关键策略
- 真创业者 中国22起],真创业者社群:2020年10月13日投融资事件汇总[共29起
- 技术编程openGauss魔改PG?它能兼容Oracle的数据库表吗?
- 一个“抑郁症”创业者:组建病友社群“兜住”更多人
- 仙尊科技 社区团购小程序凭什么能够让商家生意爆棚,直面传统社群下单痛点
- 东方网|后疫情时代谁在逆势生长?2020第五届国际社群节聚焦产业新“风口”
- 真创业者真创业者社群:2020年9月25日投融资事件汇总[共35起,中国26起]
- 守护袁昆 社交社群移动微电商到底卖的是什么?微电商要怎么玩?