检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能描述 指明Join使用的方法,可以为Nested Loop,Hash Join和Merge Join。 语法格式 1 [no] nestloop|hashjoin|mergejoin(table_list) 参数说明 no表示hint的join方式不使用。 table_lis
为子计划结果进行物化的Hint 功能描述 为子计划结果进行物化,暂存查询记录。只在insert语句应用。 在使用INSERT INTO … SELECT语句插入大量数据且有多行重复值时,因索引需多次对比而导致执行时间过长。使用此HINT对子计划的结果进行物化,暂存查询记录,减少索引比较次数,缩短语句执行时间。
hint未被使用 非等值join使用hashjoin hint或mergejoin hint。 不包含索引的表使用indexscan hint或indexonlyscan hint。 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan
int别名,同时任意表可以使用括号指定优先级,表之间使用空格分隔。 @queryblock请参见指定Hint所处的查询块Queryblock章节,可省略,表示在当前查询块生效。 表只能用单个字符串表示,不能带schema。 表如果存在别名,需要优先使用别名来表示该表。 join_
g)为utf-8编码集。 不要使用多字节字符作为对象名。 因为误操作导致在多字节字符的中间截断,从而导致无法删除数据库对象,如果出现这种现象,请使用截断前的数据库对象名进行删除操作,或将该对象从各个数据库节点的相应系统表中依次删除。 操作步骤 使用如下命令创建一个新的数据库db_tpcc。
保证数据对象的名称不超过限定长度。 使用例如utf-8编码集作为数据库的默认存储编码集(server_encoding)。 不要使用多字节字符作为对象名。 因为误操作导致在多字节字符的中间截断,从而导致无法删除数据库对象,如果出现这种现象,请使用截断前的数据库对象名进行删除操作,或
如果在视图定义(CREATE VIEW)时指定hint,则在该视图每次被应用时会使用该hint。 当使用random plan功能(参数plan_mode_seed不为0)时,查询指定的Plan Hint不会被使用。 支持范围 当前版本Plan Hint支持的范围如下,后续版本会进行增强。
如果在视图定义(CREATE VIEW)时指定hint,则在该视图每次被应用时会使用该hint。 当使用random plan功能(参数plan_mode_seed不为0)时,查询指定的Plan Hint不会被使用。 支持范围 当前版本Plan Hint支持的范围如下,后续版本会进行增强。
注意事项: 一般不建议用户使用自定义的表空间。 原因:用户自定义表空间通常配合主存(即默认表空间所在的存储设备,如磁盘)以外的其它存储介质使用,以隔离不同业务可以使用的IO资源,而在公有云场景下,存储设备都是采用标准化的配置,无其它可用的存储介质,自定义表空间使用不当不利于系统长稳运行
hint仅在对应的子链接块没有提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升和包含Agg等值相关子链接提升。该hint通常会和前面章节提到的hint联合使用。 对于FROM关键字后的子查询,则需要使用子查询的别名进行hint,blockname
创建表 背景信息 表是建立在数据库中的,在不同的数据库中可以存放相同的表,甚至可以通过使用模式在同一个数据库中创建相同名称的表。 创建表 执行如下命令创建表。 1 2 3 4 5 6 7 8 gaussdb=# CREATE TABLE customer_t1 ( c_customer_sk
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此Hint在指定查询中某个表table时允许指定其所属于的查询块名queryblock和schema名,避免歧义。 该指定方法支持所有需要指定表名的Hint。
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此Hint在指定查询中某个表table时允许指定其所属于的查询块名queryblock和schema名,避免歧义。 该指定方法支持所有需要指定表名的Hint。
hint仅在对应的子链接块没有提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升和包含Agg等值相关子链接提升。该hint通常会和前面章节提到的hint联合使用。 对于FROM关键字后的子查询,则需要使用子查询的别名进行hint,blockname
免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand Hint进行调试。大多数情况下不建议使用此hint。 语法格式 1 no_expand[(@queryblock)]
免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand Hint进行调试。大多数情况下不建议使用此hint。 语法格式 1 no_expand[(@queryblock)]
设置本次查询执行内生效的查询优化相关GUC参数。hint的推荐使用场景可以参考各guc参数的说明,此处不作赘述。 语法格式 1 set(param value) 参数说明 param表示参数名。 value表示参数的取值。 目前支持使用Hint设置生效的参数有 布尔类: enable_bitmapscan
查看数据 使用系统表pg_tables查询数据库所有表的信息。 1 gaussdb=# SELECT * FROM pg_tables; 使用gsql的\d+命令查询表的属性。 1 gaussdb=# \d+ customer_t1; 执行如下命令查询表customer_t1的数据量。
*****的用户。执行如下命令设置joe用户为系统管理员。 gaussdb=# GRANT ALL PRIVILEGES TO joe; 使用GRANT命令进行相关权限设置,具体操作请参见GRANT。 关于数据库用户的更多信息请参见用户及权限。 父主题: 操作数据库
NO_GROUPBY_PUSHDOWN_SUBQUERY 禁止使用groupby-pushdown-subquery查询重写将groupby聚集函数下推到子查询。 Hint使用准备 为了方便了解hint的使用场景,手册提供了所有查询改写hint的应用示例(请参见Hint使用说明),相关建表语句和环境准备如下: