检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开启trace功能的接口函数。字段信息详见表1。 表1 pl_trace_func_start 参数 类型 描述 session_id bigint 需要开启trace功能的会话ID。 max_num integer 本次trace所能记录的最大信息数量(取值为100~10000)。 level
ement_timeout为2000ms;带单位取值2s,表示statement_timeout为2s。取值如果要带单位,必须为ms、s、min、h、d。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
性能瓶颈点在dwcjk的Scan上。 优化分析 从业务层确认表数据(在cjrq字段上)有明显的日期特征,符合分区表的特征。重新规划dwcjk表的表定义:字段cjrq为分区键、天为间隔单位定义分区表dwcjk_part。修改后结果如下,性能提升近1倍。 父主题: 实际调优案例
为子计划结果进行物化的Hint 功能描述 为子计划结果进行物化,暂存查询记录。只在insert语句应用。 在使用insert into ... select 语句插入大量数据且有多行重复值时,因索引需多次对比而导致执行时间过长。使用此HINT对子计划的结果进行物化,暂存查询记录,减少索引比较次数,缩短语句执行时间。
为子计划结果进行物化的Hint 功能描述 为子计划结果进行物化,暂存查询记录。只在insert语句应用。 在使用INSERT INTO … SELECT语句插入大量数据且有多行重复值时,因索引需多次对比而导致执行时间过长。使用此hint对子计划的结果进行物化,暂存查询记录,减少索引比较次数,缩短语句执行时间。
查看trace功能记录信息的接口函数。字段信息详见表1。 表1 pl_get_trace_info 参数 类型 描述 session_id bigint 本条SQL语句所属的会话ID。 level text 本条SQL语句的等级。 database text 本条SQL语句所属数据库名。 func oid
FOREIGN TABLE 功能描述 用于对外表进行修改。 注意事项 OPTIONS中的敏感字段(如password、secret_access_key)在使用多层引号时,语义和不带引号的场景是不同的,因此不会被识别为敏感字段进行脱敏。 语法格式 设置外表属性: 1 2 ALTER
OID系统字段,OID类型代表一个对象标识符。 目前OID类型用一个四字节的无符号整数实现。因此不建议在创建的表中使用OID字段做主键。 表1 对象标识符类型 名称 引用 描述 示例 OID - 数字化的对象标识符。 564182 CID - 命令标识符。它是系统字段cmin和c
更新表中数据 修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行,所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。 使用UPDATE命令更新现有行,需要提供以下三种信息: 表的名称和要更新的字段名 字段的新值 要更新的行 SQL通常不会为数据行提
(4 rows) 优化分析 从业务层确认表数据(在time字段上)有明显的日期特征,符合分区表的特征。重新规划normal_date表的表定义:字段time为分区键、月为间隔单位定义分区表normal_date_part。修改后结果如下,性能提升近10倍。 1 2 3 4
PG_STAT_DATABASE PG_STAT_DATABASE视图显示集群中每个数据库的统计信息。具体字段信息如表1所示。 表1 PG_STAT_DATABASE字段 名称 类型 描述 datid oid 数据库的OID。 datname name 数据库的名称。 numbackends
外键更新动作代码。 a:没动作。 r:限制。 c:级联。 n:设置为null。 d:设置为缺省。 confdeltype "char" 外键删除动作代码。 a:没动作。 r:限制。 c:级联。 n:设置为null。 d:设置为缺省。 confmatchtype "char" 外键匹配类型。
directory 导入的database的数据源目录。 user 导入后库的属主。 LOCAL 指定该字段表示导入到原集群,如不指定表示导入到新集群。 示例 impdp database test create source = '/data1/impdp/database' owner=admin;
PV_SESSION_STAT PV_SESSION_STAT视图显示以会话线程或AutoVacuum线程为单位的统计会话状态信息。具体字段信息如表1所示。 表1 PV_SESSION_STAT字段 名称 类型 描述 sessid text 线程标识+线程启动时间。 statid integer
来查看当前用户的plan trace。 表1 GS_MY_PLAN_TRACE字段 名称 类型 描述 query_id text 当前请求的唯一id。 query text 当前请求的sql语句,该字段大小不会超过系统参数track_activity_query_size指定的大小。
更新表中数据 修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行、所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。 使用UPDATE命令更新现有行,需要提供以下三种信息: 表的名称和要更新的字段名 字段的新值 要更新的行 SQL通常不会为数据行提
PG_NAMESPACE系统表存储名称空间,即存储schema相关的信息。如果开启数据库对象隔离属性,用户只能查看自己有权限访问的schema信息。 表1 PG_NAMESPACE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 nspname name 名称空间的名称。
(4 rows) 优化分析 从业务层确认表数据(在time字段上)有明显的日期特征,符合分区表的特征。重新规划normal_date表的表定义:字段time为分区键、月为间隔单位定义分区表normal_date_part。修改后结果如下,性能提升近10倍。 1 2 3 4
ON UPDATE子句为字段的一种属性约束。 当对表中某元组执行UPDATE操作时,若更新字段的新值和表中旧值不相同,则表中该元组上具有该属性且不在更新字段内的字段值自动更新为当前时间戳;若更新字段的新值和表中旧值相同,则表中该元组上具有该属性且不在更新字段内的字段值不变,保持原有值
PGXC_RUNNING_XACTS视图显示集群中各个节点运行事务的信息,字段内容和PG_RUNNING_XACTS相同。只有system admin和monitor admin用户有权限查看。具体字段信息如表1所示。 表1 PGXC_RUNNING_XACTS字段 名称 类型 描述 handle integer