文档中心

SequoiaDB 简介

快速入门

安装部署

数据库实例

分布式引擎

SAC管控中心

SequoiaPerf性能分析工具

参考手册

常见问题及解答(FAQ)

版本信息

split()

名称

split - 切分数据记录

语法

db.collectionspace.collection.split(<source group>, <target group>, <percent>)

db.collectionspace.collection.split(<source group>, <target group>, <condition>, [endcondition])

类别

SdbCollection

描述

该函数用于将源分区组中的数据记录,按指定条件切分到目标分区组中。源分区组与目标分区组必须属于同一个域。

参数

范围切分

db.collectionspace.collection.split(<source group>, <target group>, <condition>, [endcondition])

参数名 参数类型 描述 是否必填
source group string 源分区组。
target group string 目标分区组。
condition Json 对象 范围切分条件。
endcondition Json 对象 结束范围条件。 可选

Note:

  1. Range 分区使用精确条件,而 Hash 分区使用 Partition(分区数)条件。结束条件不选时默认为切分源当前包含的最大数据范围。
  2. 如果指定分区键字段为降序时,如:{groupingKey:{<字段1>:<-1>},condition(或 Partition)中的起始条件中的范围应该大于终止条件中的范围。Hash 分区使用的 Partition(分区数)必须为整型,不能为其他的类型。

百分比切分

db.collectionspace.collection.split(<source group>, <target group>, <percent>)

参数名 参数类型 描述 是否必填
source group string 源分区组。
target group string 目标分区组。
percent double 百分比切分条件,取值:(0, 100]

Note:

  1. Range分区需要保证源分区组中含有数据,即集合不为空;
  2. 百分比不能为0。

返回值

函数执行成功时,无返回值。

函数执行失败时,将抛异常并输出错误信息。

错误

当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南

版本

v2.0 及以上版本

示例

  • Hash 分区范围切分

    > db.sample.employee.split( "group1",  "group2", { Partition: 10 }, { Partition: 20 } )
  • Range 分区范围切分

    > db.sample.employee.split( "group1",  "group2", { a: 10 },  { a: 10000 } )
  • 百分比切分

    > db.sample.employee.split( "group1",  "group2",  50 ) 
回到顶部