检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Custom Plan和Generic Plan选择的Hint 功能描述 对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。
执行没有结果集的语句 执行EXECUTE IMMEDIATE命令示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "CREATE TABLE test1 (...);"; EXEC SQL END DECLARE
执行具有输入参数的语句 准备一个普通语句,通过替换参数(在想要替换参数的地方输入问号)执行它的特定版本。使用EXECUTE语句通过USING子句给定参数执行准备语句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt
执行具有输入参数的语句 准备一个普通语句,通过替换参数(在想要替换参数的地方输入问号)执行它的特定版本。使用EXECUTE语句通过USING子句给定参数执行准备语句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt
* PQexecParams: 执行一个绑定参数的命令,并以二进制格式请求查询结果。 * 在运行这个例子之前,用下面的命令填充一个数据库 * * * CREATE TABLE test1 (i int4, t text); * * INSERT INTO test1
案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 查询重写能让优化器选择不同的执行路径,但部分规则对SQL的改写,并不能确保输出后的都是可以提升性能的计划。一旦改写错误可能导致千倍的性能差距,因此在查询改写阶段需要对此类规则支持基于代价的评估策略
Custom Plan和Generic Plan选择的Hint 功能描述 对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。
案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 查询重写能让优化器选择不同的执行路径,但部分规则对SQL的改写,并不能确保输出后的都是可以提升性能的计划。一旦改写错误可能导致千倍的性能差距,因此在查询改写阶段需要对此类规则支持基于代价的评估策略
案例:使用DN Gather减少计划中的Stream节点 DN Gather用来把分布式计划中的Stream节点去掉,把数据发送到一个节点进行计算,这样可以减少分布式计划执行时数据重分布的代价,从而提升单个查询效率以及系统整体的吞吐能力。不过DN Gather面向的是TP的小数据
向二级分区表新增二级分区 使用ALTER TABLE MODIFY PARTITION ADD SUBPARTITION可以在二级分区表中新增一个二级分区,这个行为可以作用在二级分区策略为RANGE或者LIST的情况。 例如,对二级分区表range_list_sales的date_202004新增一个二级分区。
对二级分区表交换二级分区 使用ALTER TABLE EXCHANGE SUBPARTITION可以对二级分区表交换二级分区。 例如,通过指定分区名将二级分区表range_list_sales的二级分区date_202001_channel1和普通表exchange_sales进
对二级分区表合并二级分区 使用ALTER TABLE MERGE SUBPARTITIONS可以将多个二级分区合并为一个分区。 例如,将二级分区表hash_list_sales的分区product1_channel1、product1_channel2、product1_chan
对二级分区表移动二级分区 使用ALTER TABLE MOVE SUBPARTITION可以对二级分区表移动二级分区。 例如,通过指定分区名将二级分区表range_list_sales的分区date_202001_channel1移动到表空间tb1中。 ALTER TABLE range_list_sales
SET DESCRIPTOR 功能描述 在SQL描述符区域中设置信息,描述符区域通常用于绑定预备查询执行中的参数。该命令有两种形式: 适用于描述符“头部”,它独立于特定的数据。 为由数字标识的特定数据赋值。 语法格式 SET DESCRIPTOR descriptor_name
EXEC SQL GET DESCRIPTOR d VALUE 2 :d_data = DATA; 执行SELECT current_database();并且显示列数、列数据长度和列数据的完整过程示例: #include <stdio.h> #include <stdlib.h>
DEALLOCATE DESCRIPTOR 功能描述 释放SQL描述符区域。 语法格式 DEALLOCATE DESCRIPTOR name 参数说明 name SQL描述符名称。大小写敏感,是一个SQL标识符或一个宿主变量。 示例 DEALLOCATE DESCRIPTOR mydesc;
EXEC SQL GET DESCRIPTOR d VALUE 2 :d_data = DATA; 执行SELECT current_database();并且显示列数、列数据长度和列数据的完整过程示例: #include <stdio.h> #include <stdlib.h>
SET DESCRIPTOR 功能描述 在SQL描述符区域中设置信息,描述符区域通常用于绑定预备查询执行中的参数。该命令有两种形式: 适用于描述符“头部”,它独立于特定的数据。 为由数字标识的特定数据赋值。 语法格式 SET DESCRIPTOR descriptor_name
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此Hint在指定查询中某个表table时允许指定其所属于的查询块名queryblock和schema名,避免歧义。 该指定方法支持所有需要指定表名的Hint。
使用ALTER TABLE MODIFY PARTITION可以设置分区表上指定分区的所有索引分区是否可用。这个语法如果作用于二级分区表的一级分区,数据库会将这个一级分区下的所有二级分区均进行设置。 使用ALTER TABLE MODIFY SUBPARTITION可以设置二级分区表上指定二级分区的所有索引分区是否可用。