使用值分区创建数据库时,需要把所有值逐个列举出来吗

使用数值分区创建数据库时,如果分区列是symbol类型,比如期货合约fu2305 fu2306 fu2309 au2301 au 23022等几十个合约名称,分区方案该怎么写,难道要逐个 列举出来吗,有没有简单的写法

请先 登录 后评论

1 个回答

wale

DolphinDB支持给值分区或范围分区的数据库,或者组合分区中包含值分区或范围分区的数据库添加分区。因此创建数据库时,预建1个或几个即可,不需要全部列出来,后面可以增加分区。

可以通过两种方式增加新的值分区:

  • 将配置参数newValuePartitionPolicy设定为add。在单机模式中,该参数在dolphindb.cfg中配置。在集群模式中,该参数在cluster.cfg中配置。

  • 使用 addValuePartitions 函数

对于值分区的数据库,若要添加的数据不在分区方案以内,可通过配置参数newValuePartitionPolicy来指定以何种方式来处理。newValuePartitionPolicy参数的取值有以下3种情况:

  1. 默认情况下,newValuePartitionPolicy=skip。新数据中属于分区方案的部分会保存至数据库。不在分区方案中的数据会被略过,不会保存至数据库。

  2. newValuePartitionPolicy=fail,如果新增的数据中包含至少一条分区方案外的数据,系统会抛出异常,所有新增数据都不会保存。

  3. newValuePartitionPolicy=add,如果新增的数据中包含分区方案外的数据,系统会根据分区列中新的值自动创建分区,所有新增数据均会保存,用户无需手动增加分区。


    目前配置文件已添加如下配置项,因此你无需操作。

newValuePartitionPolicy=add
请先 登录 后评论