查询最耗性能的SQL 系统中有些SQL语句运行了很长时间还没有结束,这些语句会消耗很多的系统性能,请根据本章内容查询长时间运行的SQL语句。 操作步骤 查询系统中长时间运行的查询语句。 1 SELECT current_timestamp - query_start AS runtime
Plan Hint调优概述 Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方法,指定结果行数,指定重分布过程中的倾斜信息,指定配置参数的值等多个手段来进行执行计划的调优,以提升查询的性能。 功能描述 Plan
Plan Hint实际调优案例 本节以TPC-DS标准测试的Q24的部分语句为例,在1000X,24DN环境上,说明使用plan hint进行实际调优的过程。示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
执行动态查询语句 介绍执行动态查询语句。DWS提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。 EXECUTE
PG_AUTH_HISTORY PG_AUTH_HISTORY系统表记录了角色的认证历史。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTH_HISTORY字段 名称 类型 描述 roloid oid 角色标识。 passwordtime timestamp with
PG_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的成员角色ID。 grantor oid
PG_DB_ROLE_SETTING PG_DB_ROLE_SETTING系统表存储数据库运行时每个角色与数据绑定的配置项的默认值 。 表1 PG_DB_ROLE_SETTING字段 名称 类型 描述 setdatabase oid 配置项所对应的数据库,如果未指定数据库,则为0。
PG_EXTENSION_DATA_SOURCE PG_EXTENSION_DATA_SOURCE系统表存储外部数据源对象的信息。一个外部数据源对象(Data Source)包含了外部数据库的一些口令编码等信息,主要配合Extension Connector使用。 表1 PG_EXTENSION_DATA_SOURCE
PGXC_COMM_RECV_STREAM PGXC_COMM_RECV_STREAM视图展示所有DN上的通信库接收流状态。 表1 PGXC_COMM_RECV_STREAM字段 名称 类型 描述 node_name text 节点名称。 local_tid bigint 使用此通信流的线程
PGXC_COMM_SEND_STREAM PGXC_COMM_SEND_STREAM视图展示所有DN上的通信库发送流状态。 表1 PGXC_COMM_SEND_STREAM字段 名称 类型 描述 node_name text 节点名称。 local_tid bigint 使用此通信流的线程
PGXC_GET_TABLE_SKEWNESS PGXC_GET_TABLE_SKEWNESS视图展示当前库中表的数据分布倾斜情况。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。 表1 PGXC_GET_TABLE_SKEWNESS
PGXC_INSTR_UNIQUE_SQL PGXC_INSTR_UNIQUE_SQL视图展示集群中所有CN节点的Unique SQL的完整统计信息。 需要有系统管理员权限才可以访问此视图,该视图的字段与GS_INSTR_UNIQUE_SQL视图字段相同。具体的字段请参考表1。 表
PGXC_LOCK_CONFLICTS PGXC_LOCK_CONFLICTS视图提供集群中有冲突的锁的信息。 当某一个锁正在等待另一个锁,或正在被另一个锁等待,即该锁是有冲突的。 目前,PGXC_LOCK_CONFLICTS视图只收集locktype为relation、partition
PGXC_OS_RUN_INFO PGXC_OS_RUN_INFO视图显示集群中各节点上操作系统运行的状态信息,除新增node_name(节点名称)字段外,其余字段内容和PV_OS_RUN_INFO视图相同。需要有系统管理员权限或预置角色gs_role_read_all_stats
PGXC_OS_THREADS PGXC_OS_THREADS视图提供当前集群中所有正常节点下的线程状态信息。 表1 PGXC_OS_THREADS字段 名称 类型 描述 node_name text 当前集群中所有正常节点的名称。 pid bigint 当前集群中所有正常节点进程中正在运行的线程号
PGXC_PREPARED_XACTS PGXC_PREPARED_XACTS视图显示当前处于prepared阶段的两阶段事务。 表1 PGXC_PREPARED_XACTS字段 名字 类型 描述 pgxc_prepared_xact text 查看当前处于prepared阶段的两阶段事务
PGXC_RUNNING_XACTS PGXC_RUNNING_XACTS视图主要功能是显示集群中各个节点运行事务的信息,字段内容和PG_RUNNING_XACTS相同。 表1 PGXC_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄
PGXC_STAT_BAD_BLOCK PGXC_STAT_BAD_BLOCK视图显示集群所有节点从启动后,在读取数据时出现Page/CU校验失败的统计信息。 表1 PGXC_STAT_BAD_BLOCK字段 名字 类型 描述 nodename text 节点名称。 databaseid
PGXC_STAT_BGWRITER PGXC_STAT_BGWRITER视图显示集群中各节点上后端写进程活动的统计信息,除新增node_name(节点名称)字段外,其余字段内容和PG_STAT_BGWRITER视图相同。需要有系统管理员权限才可以访问此视图。 表1 PGXC_STAT_BGWRITER
PGXC_TOTAL_MEMORY_DETAIL PGXC_TOTAL_MEMORY_DETAIL视图显示集群内存使用情况。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。 表1 PGXC_TOTAL_MEMORY_DETAIL字段