CREATE RESOURCE POOL
功能描述
创建一个资源池,并指定此资源池相关联的控制组。
注意事项
只要用户对当前数据库有CREATE权限,就可以创建资源池。
语法格式
1 2 |
CREATE RESOURCE POOL pool_name [WITH ({MEM_PERCENT=pct | CONTROL_GROUP="group_name" | ACTIVE_STATEMENTS=stmt | MAX_DOP = dop | MEMORY_LIMIT='memory_size' | io_limits=io_limits | io_priority='priority' | nodegroup='nodegroup_name' | is_foreign = boolean | except_rule='except_rule' | weight=bandwidth_weight | enable_concurrency_scaling=boolean}[, ... ])]; |
参数说明
参数 |
描述 |
取值范围 |
---|---|---|
pool_name |
资源池名称。 |
资源池名称不能和当前数据库里已有的资源池重名。 取值范围:字符串,要符合标识符的命名规范。 |
group_name |
控制组名称。 |
取值范围:字符串,要符合说明中的规则,其指定已创建的控制组。
|
stmt |
资源池语句执行的最大并发数量。 |
取值范围:数值型,-1~INT_MAX。 |
dop |
资源池简单语句执行的最大并发数量。 |
取值范围:数值型,1~INT_MAX。 |
memory_size |
使用该资源池的作业估算内存上限。 |
取值范围:字符串
|
mem_percent |
资源池可用内存占全部内存或者组用户内存使用的比例。 |
在多租户场景下,组用户和业务用户的mem_percent范围1-100,默认为20。 在普通场景下,普通用户的mem_percent范围为0-100,默认值为0。 |
io_limits |
该参数8.1.2版本中已废弃,为兼容历史版本保留该参数。 |
- |
io_priority |
该参数8.1.2版本中已废弃,为兼容历史版本保留该参数。 |
- |
nodegroup |
在逻辑集群模式下,指定资源池所属的逻辑集群名称。必须是存在的逻辑集群。 |
如果逻辑集群名称包含大写字符、特殊符号或以数字开头,SQL语句中对逻辑集群名称需要加双引号。 |
is_foreign |
在逻辑集群模式下,指定当前资源池用于控制没有关联本逻辑集群的普通用户的资源。这里的逻辑集群是由资源池nodegroup字段指定的。 |
|
except_rule |
异常规则集。 |
- |
weight |
资源池网络带宽权重。 |
- |
enable_concurrency_scaling |
弹性并发扩展功能开关。该功能仅9.1.0.100及以上集群版本支持。 |
取值范围:
默认值:false |
示例
本示例假定用户已预先成功创建控制组。
创建一个默认资源池,其控制组为“DefaultClass”组下属的“Medium”Timeshare Workload控制组:
1
|
CREATE RESOURCE POOL pool1; |
创建一个资源池,其控制组指定为“DefaultClass”组下属的“High”Timeshare Workload控制组:
1
|
CREATE RESOURCE POOL pool2 WITH (CONTROL_GROUP="High"); |
创建一个资源池,其控制组指定为“class1”组下属的“Low”Timeshare Workload控制组:
1
|
CREATE RESOURCE POOL pool3 WITH (CONTROL_GROUP="class1:Low"); |
创建一个资源池,其控制组指定为“class1”组下属的“wg1”Workload控制组:
1
|
CREATE RESOURCE POOL pool4 WITH (CONTROL_GROUP="class1:wg1"); |
创建一个资源池,其控制组指定为“class1”组下属的“wg2”Workload控制组:
1
|
CREATE RESOURCE POOL pool5 WITH (CONTROL_GROUP="class1:wg2:3"); |
创建一个资源池,并打开该资源池的弹性并发扩展功能:
1
|
CREATE RESOURCE POOL pool6 WITH (enable_concurrency_scaling=true); |