检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
场景一:磁盘满后快速定位存储倾斜的表 首先,通过pg_stat_get_last_data_changed_time(oid)函数查询出近期发生过数据变更的表,鉴于表的最后修改时间只在进行IUD操作的CN记录,要查询库内1天(间隔可在函数中调整)内被修改的所有表,可以使用如下封装函数:
指定子查询不展开的Hint 功能描述 数据库在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层来避免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand
一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
IMMEDIATE :stmt; EXECUTE IMMEDIATE可以用于不返回结果集的SQL语句,比如:DDL、INSERT、UPDATE和DELETE语句。但不能用这种方式执行检索数据的语句,比如:SELECT语句。 父主题: 执行动态SQL语句
执行带有结果集的语句 执行具有单独结果集的SQL语句,可以使用EXECUTE。若要保存结果,则增加INTO子句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "SELECT a, b, c FROM test1
同层参数化路径的Hint 功能描述 通过predpush_same_level Hint来指定同层表或物化视图之间参数化路径生成。 语法格式 1 2 predpush_same_level(src, dest) predpush_same_level(src1 src2 ...,
执行带有结果集的语句 执行具有单独结果集的SQL语句,可以使用EXECUTE。若要保存结果,则增加INTO子句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "SELECT a, b, c FROM test1
略,表示在当前查询块生效。 dest为参数化路径的目标表,即索引所在的表。 src为参数路径的参数表。 index_list为参数化路径使用的索引序列,为空格隔开的字符串。 示例 查看下面的计划示例需要设置以下参数: set enable_fast_query_shipping =
@queryblock请参见指定Hint所处的查询块Queryblock章节,可省略,表示在当前查询块生效。 inner_table_list:执行连接操作时,希望被物化的内表序列,为空格隔开的字符串。 示例 t1表作为内表物化,(t1 t2)的结果作为连接的内表被物化。 gaussdb=# explain
指定子查询不展开的Hint 功能描述 数据库在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层来避免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand
略,表示在当前查询块生效。 dest为参数化路径的目标表,即索引所在的表。 src为参数路径的参数表。 index_list为参数化路径使用的索引序列,为空格隔开的字符串。 示例 查看下面的计划示例需要设置以下参数 set enable_fast_query_shipping =
见指定Hint所处的查询块Queryblock章节,可省略,表示在当前查询块生效。 inner_table_list: 执行连接操作时,希望被物化的内表序列,为空格隔开的字符串。 示例 t1表作为内表物化,(t1 t2)的结果作为连接的内表被物化。 gaussdb=# explain
一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
IMMEDIATE :stmt; EXECUTE IMMEDIATE可以用于不返回结果集的SQL语句,比如:DDL、INSERT、UPDATE和DELETE语句。但不能用这种方式执行检索数据的语句,比如:SELECT语句。 父主题: 执行动态SQL语句
执行带有结果集的语句 执行具有单独结果集的SQL语句,可以使用EXECUTE。若要保存结果,则增加INTO子句。示例如下: EXEC SQL BEGIN DECLARE SECTION; const char *stmt = "SELECT a, b, c FROM test1
指定子查询不展开的Hint 功能描述 数据库在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层来避免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand
在线校验功能 在线校验是Ustore独创的运行过程中可以有效预防页面因编码逻辑错误导致的逻辑损坏,默认开启,业务现网请保持开启。性能场景除外。 关闭: gs_guc reload -Z datanode -N all -I all -c "ustore_attr='';" 打开:
扩容数据库实例的磁盘空间 功能介绍 扩容数据库实例的磁盘空间。 该接口计划于2025-03-31下线,建议及时切换到新接口CN横向扩容/DN分片扩容/磁盘扩容。 调用接口前,您需要了解API 认证鉴权。 调用接口前,您需要提前获取到地区和终端节点,即下文中的Endpoint值。 接口约束
精度和用法存在差异。 NUMBER带参数时,GaussDB的精度p与标度s的最大边界值比Oracle更大。 NUMBER不带参数时,GaussDB的精度p的默认值远大于带参数时的最大边界值;而在Oracle中,精度p的默认值等于带参数时的最大边界值。 GaussDB不支持标度s为负值;在
不低于某特定值(如90%)的情况,则发出相应Cloud Eye告警。 如果在某段时间内(如5min),内存使用率的平均值出现多次(如3次)不低于某特定值(如90%)的情况,则发出相应Cloud Eye告警。 如果在某段时间内(如5min),磁盘使用率的最大值出现多次(如2次)不低