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

SQL

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

  • 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_sql
    说明 polar_stat_sql视图依赖于polar_stat_sql插件,需要执行create extension polar_stat_sql命令创建该插件,也可作为pg_stat_statements的扩展。
    相关参数说明如下表所示:
    参数 类型 描述
    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 执行总次数。