文档

SET PARTITION_HINT

更新时间:

PolarDB-X支持通过SET PARTITION_HINT语句,指定SQL语句在某个DN分片上执行。

语法

SET PARTITION_HINT=[PARTITION_NAME|GROUP_NAME|GROUP_NAME:TABLE_INDEX]
说明

该语句支持在AUTO和DRDS模式数据库中使用。

参数说明:

  • PARTITION_NAME:AUTO模式数据库中表的partition_name属性。

  • GROUP_NAME:DRDS模式数据库中表所在的GROUP_NAME。

  • TABLE_INDEX:DRDS模式数据库中某GROUP存在多个分表时, TABLE_INDEX表示该分表在所属GROUP中的index,从0开始。

注意事项

PolarDB-X的5.4.16-16773973及以上版本支持该命令。

示例

执行以下命令,设置后续的SQL语句在PARTITION_HINT_TEST_DRDS_000003_GROUP上执行。

set PARTITION_HINT='PARTITION_HINT_TEST_DRDS_000003_GROUP:0';
Query OK, 0 rows affected (0.00 sec)

执行以下命令,返回信息展示了SQL语句在PARTITION_HINT_TEST_DRDS_000003_GROUP上执行的结果。

select * from multi_db_single_tbl;
+--------+------+
| id | name |
+--------+------+
| 100003 | c |
+--------+------+
1 row in set (0.02 sec)

执行以下命令,设置后续SQL语句在所有分片上执行。

set partition_hint='';
Query OK, 0 rows affected (0.00 sec)

执行以下命令,返回信息展示了SQL语句在所有分片上执行的结果。

select * from multi_db_single_tbl;
+--------+------+
| id | name |
+--------+------+
| 100003 | c |
| 100002 | b |
| 100001 | a |
+--------+------+
3 rows in set (0.04 sec)