检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行没有结果集的语句 执行EXECUTE IMMEDIATE命令示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "CREATE TABLE test1 (...);"; EXEC SQL END DECLARE
执行带有结果集的语句 执行具有单独结果集的SQL语句,可以使用EXECUTE。若要保存结果,则增加INTO子句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "SELECT a, b, c FROM test1
Custom Plan和Generic Plan选择的Hint 功能描述 对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。
为子计划结果进行物化的Hint 功能描述 为子计划结果进行物化,暂存查询记录。只在insert语句应用。 在使用INSERT INTO … SELECT语句插入大量数据且有多行重复值时,因索引需多次对比而导致执行时间过长。使用此HINT对子计划的结果进行物化,暂存查询记录,减少索引比较次数,缩短语句执行时间。
SET DESCRIPTOR 功能描述 在SQL描述符区域中设置信息,描述符区域通常用于绑定预备查询执行中的参数。该命令有两种形式: 适用于描述符“头部”,它独立于特定的数据。 为由数字标识的特定数据赋值。 语法格式 SET DESCRIPTOR descriptor_name
GET DESCRIPTOR 功能描述 检索查询结果集的信息,并且将它存储到宿主变量中。在使用该命令将信息传递给宿主语言变量之前通常使用FETCH或者SELECT填充标识符区域。该命令有两种形式: 检索描述符的“头部”项,适用于全面查看结果集。 列号作为附加参数,检索特定列的信息。
Local索引分区重建/不可用 使用ALTER INDEX PARTITION可以设置Local索引分区是否可用。 使用ALTER TABLE MODIFY PARTITION可以设置分区表上指定分区的所有索引分区是否可用。这个语法如果作用于二级分区表的一级分区,数据库会将这个一级分区下的所有二级分区均进行设置。
GS_WLM_REBUILD_USER_RESOURCE_POOL 该视图用于在当前连接节点上重建内存中用户的资源池信息。只在资源池信息缺失或错乱时作为补救措施。查询该视图需要sysadmin权限。 表1 GS_WLM_REBUILD_USER_RESOURCE_POOL字段 名称
DEALLOCATE DESCRIPTOR 功能描述 释放SQL描述符区域。 语法格式 DEALLOCATE DESCRIPTOR name 参数说明 name SQL描述符名称。大小写敏感,是一个SQL标识符或一个宿主变量。 示例 DEALLOCATE DESCRIPTOR mydesc;
GET DESCRIPTOR 功能描述 检索查询结果集的信息,并且将它存储到宿主变量中。在使用该命令将信息传递给宿主语言变量之前通常使用FETCH或者SELECT填充标识符区域。该命令有两种形式: 检索描述符的“头部”项,适用于全面查看结果集。 列号作为附加参数,检索特定列的信息。
SET DESCRIPTOR 功能描述 在SQL描述符区域中设置信息,描述符区域通常用于绑定预备查询执行中的参数。该命令有两种形式: 适用于描述符“头部”,它独立于特定的数据。 为由数字标识的特定数据赋值。 语法格式 SET DESCRIPTOR descriptor_name
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此Hint在指定查询中某个表table时允许指定其所属于的查询块名queryblock和schema名,避免歧义。 该指定方法支持所有需要指定表名的Hint。
安全和认证(postgresql.conf) 介绍设置客户端和服务器的安全认证方式的相关参数。 authentication_timeout 参数说明:完成客户端认证的最长时间。如果一个客户端没有在这段时间里完成与服务器端的认证,则服务器自动中断与客户端的连接,这样就避免了出问题的客户端无限制地占用连接数。
绑定参数并返回二进制结果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 查询重写能让优化器选择不同的执行路径,但部分规则对SQL的改写,并不能确保输出后的都是可以提升性能的计划。一旦改写错误可能导致千倍的性能差距,因此在查询改写阶段需要对此类规则支持基于代价的评估策略
向二级分区表新增二级分区 使用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
执行没有结果集的语句 执行EXECUTE IMMEDIATE命令示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "CREATE TABLE test1 (...);"; EXEC SQL END DECLARE