Plan Cache相关视图
Plan Cache相关视图包含记录执行计划的缓存状态、执行统计的相关信息及计划信息,这些视图的数据均来自Plan Cache,具体Plan Cache介绍见执行计划缓存介绍。
(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
记录计划缓存中所有plan的具体信息及每个计划总的执行统计信息, 每个plan在该视图中一条记录。
| 字段名称 |
类型 |
描述 |
| tenant_id |
bigint(20) |
租户id |
| svr_ip |
varchar(32) |
机器ip |
| svr_port |
bigint(20) |
机器端口号 |
| plan_id |
bigint(20) |
plan的id |
| sql_id |
varchar(32) |
这条sql的id |
| type |
bigint(20) |
plan的类型: 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) |
plan的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) |
plan的大小 |
| 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
该视图可用于查询某条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) |
plan的id |
| OPERATOR |
varchar(128) |
operator的名称 |
| NAME |
varchar(128) |
表的名称 |
| ROWS |
bigint(20) |
预估的结果行数 |
| COST |
bigint(20) |
预估的代价 |
| PROPERTY |
varchar(256) |
对应operator的信息 |