GBASE南大通用技术分享:GBase 8a数据库limit查询结果一致性功能解析
1 功能概述
南大通用GBase 8a MPP Cluster新增支持随机分布表及hash分布表的limit offset数据一致性功能,对复制表进行limit分页一致性查询时,则不需要开启此优化功能。使用优化后的limit offset语句,可确保翻页查询按照执行规则返回的结果集时,每页数据无重复,单页数据固定,且无热点节点影响集群性能。
2 配置部署
通过参数方式控制优化后的limit offset结果集翻页功能是否开启,新增集群级参数:
gcluster_flip_pages
默认值:0
取值范围:[0|1]
说明:取值为0时,表示关闭翻页查询一致性功能;
取值为1时,表示打开翻页查询一致性功能。
执行如下命令,开启翻页查询一致性功能。可以通过配置文件或session、global级控制。
SET gcluster_flip_pages = 1;
执行如下命令,关闭翻页查询一致性功能。默认为关闭。
SET gcluster_flip_pages = 0;
3 语法说明
LIMIT row_count OFFSET offset
参数名称
说 明
offset
指定结果集的偏移量,初始偏移量的起始值是0(而不是1),即偏移量0对应SELECT返回的第一行结果集。
row_count
指定返回结果集的行数,是一个整数型数值。如果row_count指定的数值大于SELECT后的结果集,那么row_count将不起作用。
4 使用限制
- 在对表数据进行DML操作与加载数据等更改数据集的操作,无法保证查询前后原始数据顺序一致。
- 不支持视图的分页查询。
- 不支持使用DBLink进行分页查询。
- 不支持查询语句中包含order by子句。
- 查询语句中,需包含符合语法使用的limit offset子句。
- 查询语句中,暂不支持使用子查询。
- 查询语句中,暂不支持使用distinct去重。
5 使用示例
gbase> SELECT * FROM t1 LIMIT 3 OFFSET 2;
+------+
| a |
+------+
| 3 |
| 4 |
| 5 |
+------+
3 rows in set

浙公网安备 33010602011771号