本章节主要介绍PolarDB-O中的不同视图详细信息,可通过查询不同视图获取相关SQL信息,进而方便定位性能问题。

SQL

您可以通过查询本文描述的视图来获取相关SQL信息。

  • polar_stat_sql
    说明 polar_stat_sql视图依赖于polar_stat_sql插件,需要执行create extension polar_stat_sql命令创建该插件。
    相关参数说明如下表所示:
    参数 类型 描述
    queryid bigint 查询ID
    datname name 数据库名称。
    rolname name 用户名。
    user_time double 用户态时间。
    system_time double 系统态时间。
    minflts bigint 页面回收数(软页面错误)。
    majflts bigint 缺页错误数(硬缺页错误)。
    nswaps bigint 交换页面数 (swaps)。
    reads bigint 磁盘读取字节数(bytes)。
    reads_blks bigint 磁盘读取块数(blocks)。
    writes bigint 磁盘写入字节数(bytes)。
    writes_blks bigint 磁盘写入块数(blocks)。
    msgsnds bigint IPC 信息发送次数。
    msgrcvs bigint IPC 信息接受次数。
    nsignals bigint 信号量接受次数。
    nvcsws bigint 自愿上下文切换次数。
    nivcsws bigint 非自愿上下文切换次数。
    scan_rows double 扫描节点读取行数。
    scan_time double 扫描节点执行时间。
    scan_count bigint 扫描节点执行次数。
    join_rows double join节点读取行数。
    join_time double join节点执行时间。
    join_count bigint join节点次数时间。
    sort_rows double 排序节点读取行数。
    sort_time double 排序节点执行时间。
    sort_count bigint 排序节点执行次数。
    group_rows double group节点读取行数。
    group_time double group节点执行时间。
    group_count bigint group节点执行次数。
    hash_rows double hash节点读取行数。
    hash_memory bigint hash节点使用内存(bytes)。
    hash_count bigint hash节点执行次数。
    parse_time double parse时间。
    analyze_time double analyze时间。
    rewrite_time double rewrite时间。
    plan_time double 执行计划生成时间。
    execute_time double 执行时间。
    lwlock_wait double lwlock等待时间。
    rel_lock_wait double 表锁等待时间。
    xact_lock_wait double 事务锁等待时间。
    page_lock_wait double page锁等待时间。
    tuple_lock_wait double 行锁等待时间。
    shared_read_ps bigint 读IOPS。
    shared_write_ps bigint 写IOPS。
    shared_read_throughput bigint 读吞吐,单位:bytes。
    shared_write_throughput bigint 写吞吐,单位:bytes。
    shared_read_latency double 读延时,单位:微秒。
    shared_write_latency double 写延时,单位:微秒。
    io_open_num bigint open文件操作次数。
    io_seek_count bigint seek文件操作次数。
    io_open_time double open文件操作耗时,单位:微秒。
    io_seek_time double seek文件操作耗时,单位:微秒。
  • polar_stat_query_count
    说明 polar_stat_query_count视图依赖于polar_stat_sql插件,需要执行create extension polar_stat_sql命令创建该插件。
    相关参数说明如下表所示:
    参数 类型 描述
    sqltype text SQL类型: DQL DMLDDL DCL
    cmdtype text SQL命令类型: SELECTINSERT UPDATE ...
    count bigint 执行总次数。
  • pg_stat_statements
    说明 pg_stat_statements视图依赖于pg_stat_statements插件,需要执行create extension pg_stat_statements命令创建该插件。
    相关参数说明如下表所示:
    参数 类型 描述
    userid oid 执行该语句的用户的 OID。
    dbid oid 在其中执行该语句的数据库的 OID。
    queryid bigint 内部哈希码,从语句的解析树计算得来。
    query text 语句的文本形式。
    calls bigint 被执行的次数。
    total_time double precision 在该语句中花费的总时间。单位:毫秒。
    min_time double precision 在该语句中花费的最小时间。单位:毫秒。
    max_time double precision 在该语句中花费的最大时间。单位:毫秒。
    mean_time double precision 在该语句中花费的平均时间。单位:毫秒。
    stddev_time double precision 在该语句中花费时间的总体标准偏差。单位:毫秒。
    rows bigint 该语句检索或影响的行总数。
    shared_blks_hit bigint 该语句造成的共享块缓冲命中总数。
    shared_blks_read bigint 该语句读取的共享块的总数。
    shared_blks_dirtied bigint 该语句弄脏的共享块的总数。
    shared_blks_written bigint 该语句写入的共享块的总数。
    local_blks_hit bigint 该语句造成的本地块缓冲命中总数。
    local_blks_read bigint 该语句读取的本地块的总数。
    local_blks_dirtied bigint 该语句弄脏的本地块的总数。
    local_blks_written bigint 该语句写入的本地块的总数。
    temp_blks_read bigint 该语句读取的临时块的总数。
    temp_blks_written bigint 该语句写入的临时块的总数。
    blk_read_time double precision 该语句花在读取块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。
    blk_write_time double precision 该语句花在写入块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。

执行计划

您可以通过查询polar_stat_plans视图来获取相关执行计划信息。

polar_stat_plans

统计执行计划信息。相关参数说明如下表所示:
参数 类型 描述
userid oid 用户ID。
dbid oid 数据库ID。
queryid bigint SQL的ID。
planid oid 执行计划ID。
plan text 执行计划。
calls bigint 调用次数。
total_time double 总时间。
min_time double 最小时间
max_time double 最大时间。
mean_time double 平均时间。
stddev_time double 标准差。
rows bigint 访问行数。
shared_blks_hit bigint 命中共享内存缓存次数。
shared_blks_read bigint 共享内存读取磁盘次数。
shared_blks_dirtied bigint 共享内存被污染次数。
shared_blks_written bigint 共享内存写入磁盘次数。
local_blks_hit bigint 命中本地内存缓存次数。
local_blks_read bigint 本地内存读取磁盘次数。
local_blks_dirtied bigint 本地内存被污染次数。
local_blks_written bigint 本地内存写入磁盘次数。
temp_blks_read bigint 临时内存读取磁盘次数。
temp_blks_written bigint 临时内存写入磁盘次数。
blk_read_time double block读时间。
blk_write_time double block写时间。
utime double CPU用户态时间。
stime double CPU系统态时间。
lwlock_wait double lwlock等待时间。
rel_lock_wait double 表锁等待时间。
xact_lock_wait double 事务锁等待时间。
page_lock_wait double page锁等待时间。
tuple_lock_wait double 行锁等待时间。
last_startup_cost double 最近启动代价。
last_total_cost double 最近总代价。
shared_read_ps bigint 读IOPS。
shared_write_ps bigint 写IOPS。
shared_read_throughput bigint 读吞吐,单位:bytes。
shared_write_throughput bigint 写吞吐,单位:bytes。
shared_read_latency double 读延时,单位:微秒。
shared_write_latency double 写延时,单位:微秒。
io_open_num bigint open文件操作次数。
io_seek_count bigint seek文件操作次数。
io_open_time double open文件操作耗时,单位:微秒。
io_seek_time double seek文件操作耗时,单位:微秒。
说明 polar_stat_plans视图依赖于polar_stat_plans插件,需要执行create extension polar_stat_plans命令创建该插件。