codecamp

OceanBase 计划缓存视图

计划缓存视图包含记录执行计划的缓存状态、执行统计的相关信息以及计划信息。

(g)v$plan_cache_stat

(g)v$plan_cache_stat 视图用于记录每个计划缓存的状态,每个计划缓存在该视图中有一条记录。

字段名称

类型

描述

tenant_id

bigint(20)

租户 ID

svr_ip

varchar(32)

IP 地址

svr_port

bigint(20)

端口号

sql_num

bigint(20)

plan_cache 涉及 SQL 条数

mem_used

bigint(20)

plan_cache 已经使用的内存

access_count

bigint(20)

进 plan_cache 的次数

hit_count

bigint(20)

命中 plan_cache 的次数

hit_rate

bigint(20)

命中 plan_cache 的次数

plan_num

bigint(20)

plan 的个数

mem_limit

bigint(20)

plan_cache 的内存上限

hash_bucket

bigint(20)

plan_cache hash map 中的 bucket 的个数

stmtkey_num

bigint(20)

plan_cache 中 stmt_key 的个数

(g)v$plan_cache_plan_stat

(g)v$plan_cache_plan_stat 用于记录计划缓存中所有 plan 的具体信息及每个计划总的执行统计信息,每个 plan 在该视图中有一条记录。

字段名称

类型

描述

tenant_id

bigint(20)

租户 ID

svr_ip

varchar(32)

机器的 IP 地址

svr_port

bigint(20)

机器端口号

plan_id

bigint(20)

执行计划的 ID

sql_id

varchar(32)

这条 SQL 的 ID

type

bigint(20)

执行计划的类型:

  • 1 表示 local plan

  • 2 表示 remote plan

  • 3 表示 distribute plan

db_id

bigint(20) unsigned

database 的 ID

is_bind_sensitive

bigint(20)

该计划是否需要打开 ACS

is_bind_aware

bigint(20)

该计划已经打开了 ACS

statement

varchar(4096)

参数化后的 SQL 语句

query_sql

varchar(65536)

第一次加载计划时查询的原始 SQL 语句

sys_vars

varchar(4096)

影响计划的系统变量的值

plan_hash

bigint(20)

执行计划的 hash 值

first_load_time

timestamp(6)

第一次被加载时间

schema_version

bigint(20)

schema 版本号

merged_version

bigint(20)

当前缓存的 plan 对应的合并版本号

last_active_time

timestamp(6)

上一次被执行时间

avg_exe_usec

bigint(20)

平均执行时间

slowest_exe_time

timestamp(6)

最慢一次执行耗时

slowest_exe_usec

bigint(20)

最慢执行时间戳

slow_count

bigint(20)

当前 plan 成为慢查询次数

hit_count

bigint(20)

被命中次数

plan_size

bigint(20)

执行计划的大小

executions

bigint(20)

执行次数

disk_reads

bigint(20)

所有执行物理读次数

direct_writes

bigint(20)

所有执行写盘的次数

buffer_gets

bigint(20)

所有执行逻辑读次数

application_wait_time

bigint(20) unsigned

所有执行所有 application 类事件的总时间

concurrency_wait_time

bigint(20) unsigned

所有执行所有 concurrency 类事件的总时间

user_io_wait_time

bigint(20) unsigned

所有执行所有 user_io 类事件的总时间

rows_processed

bigint(20)

所有执行选择的结果行数或执行更改表中的行数

elapsed_time

bigint(20) unsigned

所有执行接收到请求到执行结束消耗时间

cpu_time

bigint(20) unsigned

所有执行消耗的 CPU 时间

large_querys

bigint(20)

被判断为大查询的次数

delayed_large_querys

bigint(20)

被判断为大查询且被丢入大查询队列的次数

outline_version

bigint(20)

outline 版本号

outline_id

bigint(20)

outline 的 ID。

如果为 -1 表示不是通过绑定 outline 生成的计划

outline_data

varchar(65536)

计划对应的 outline 信息

acs_sel_info

varchar(65536)

当前 ACS 计划对应的选择率空间

table_scan

tinyint(4)

表示该查询是否为主键扫描

evolution

bool

表示该执行计划是否在演进中

evo_executions

bigint(20)

演进次数

evo_cpu_time

bigint(20) unsigned

演进过程中总的执行 CPU 时间

timeout_count

bigint(20)

超时次数

ps_stmt_id

bigint(20)

prepare statement 的 ID

(g)v$plan_cache_plan_explain

(g)v$plan_cache_plan_explain 用于查询某条 SQL 在计划缓存中的执行计划。

注意 
如果查询 gv$plan_cache_plan_explain 表, 则需要指定 IP、port、tenant_id、plan_id 等条件。
如果查询 v$plan_cache_plan_explain 表, 则需要指定 tenant_id、plan_id 等条件。

字段名称

类型

描述

TENANT_ID

bigint(20)

租户 ID

IP

varchar(32)

IP 地址

PORT

bigint(20)

端口号

PLAN_ID

bigint(20)

执行计划的 ID

OPERATOR

varchar(128)

operator 的名称

NAME

varchar(128)

表的名称

ROWS

bigint(20)

预估的结果行数

COST

bigint(20)

预估的代价

PROPERTY

varchar(256)

对应 operator 的信息

OceanBase SQL Trace
OceanBase 通过 SQL Audit 分析查询中等待事件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }