首批通过分布式安全可靠测评,为关键业务系统打造
gv$plan_cache_plan_stat
更新时间:2023-08-07 17:30:45
功能
gv$plan_cache_plan_stat 视图记录了当前租户在所有 Server 上的计划缓存中缓存的每一个缓存对象的状态。 注意
该表不仅缓存了 SQL 计划对象,也缓存了 PL 对象(如匿名块、PL Package 以及 PL Function),某些字段只在特定对象下有效。
相关表/视图
oceanbase.__all_virtual_plan_stat
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| tenant_id | bigint(20) | NO | 租户 ID |
| svr_ip | varchar(32) | NO | 服务器的 IP 地址 |
| svr_port | bigint(20) | NO | 机器端口号 |
| plan_id | bigint(20) | NO | 缓存对象的 ID |
| sql_id | varchar(32) | NO | 缓存对象对应的 SQL ID,如果是 PL 对象,则该字段为 NULL |
| type | bigint(20) | NO | 对于 SQL 计划的缓存,该字段表示计划的类型:
|
| is_bind_sensitive | bigint(20) | NO | 该计划是否需要打开 ACS |
| is_bind_aware | bigint(20) | NO | 该计划已经打开了 ACS |
| db_id | bigint(20) unsigned | NO | 数据库 ID |
| statement | varchar(4096) | NO | 对于 SQL 计划,该字段为参数化后的 SQL 语句;对于匿名块对象,该字段为参数化后的匿名块语句;其他对象该字段无效 |
| query_sql | varchar(65536) | NO | 对于 SQL 计划,字段为第一次加载计划时查询的原始 SQL 语句;对于匿名块字段,该字段为参数化后的匿名块语句 |
| special_params | varchar(4096) | NO | 表示不可参数化的参数值 |
| param_infos | varchar(65536) | NO | 表示参数化信息 |
| sys_vars | varchar(4096) | NO | 影响计划的系统变量的值 |
| plan_hash | bigint(20) unsigned | NO | SQL 计划的 Hash 值 |
| first_load_time | timestamp(6) | NO | 第一次被加载时间 |
| schema_version | bigint(20) | NO | Schema 版本号 |
| merged_version | bigint(20) | NO | 当前缓存的计划对应的合并版本号 |
| last_active_time | timestamp(6) | NO | 上一次被执行时间 |
| avg_exe_usec | bigint(20) | NO | 平均执行时间 |
| slowest_exe_time | timestamp(6) | NO | 最慢执行时间戳 |
| slowest_exe_usec | bigint(20) | NO | 最慢一次执行的耗时 |
| slow_count | bigint(20) | NO | 当前 SQL 计划成为慢查询的次数 |
| hit_count | bigint(20) | NO | 被命中次数 |
| plan_size | bigint(20) | NO | 缓存对象占用的内存大小 |
| executions | bigint(20) | NO | 执行次数 |
| disk_reads | bigint(20) | NO | 所有执行物理读的次数 |
| direct_writes | bigint(20) | NO | 所有执行物理写的次数 |
| buffer_gets | bigint(20) | NO | 所有执行逻辑读的次数 |
| application_wait_time | bigint(20) unsigned | NO | 所有 Application 类事件的总时间 |
| concurrency_wait_time | bigint(20) unsigned | NO | 所有 Concurrency 类事件的总时间 |
| user_io_wait_time | bigint(20) unsigned | NO | 所有 user_io 类事件的总时间 |
| rows_processed | bigint(20) | NO | 所有 Schedule 类事件的时间 |
| elapsed_time | bigint(20) unsigned | NO | 接收到请求到执行结束所消耗的时间 |
| cpu_time | bigint(20) unsigned | NO | 所有执行消耗的 CPU 时间 |
| large_querys | bigint(20) | NO | 被判断为大查询的次数 |
| delayed_large_querys | bigint(20) | NO | 被判断为大查询且被丢入大查询队列的次数 |
| delayed_px_querys | bigint(20) | NO | 并行查询被丢回队列重试的次数 |
| outline_version | bigint(20) | NO | Outline 版本号 |
| outline_id | bigint(20) | NO | Outline 的 ID,为 -1 表示不是通过绑定 Outline 生成的计划 |
| outline_data | varchar(65536) | NO | 计划对应的 Outline 信息 |
| acs_sel_info | varchar(65536) | NO | 当前 ACS 计划对应的选择率空间 |
| table_scan | tinyint(4) | NO | 表示该查询是否为主键扫描 |
| evolution | tinyint(4) | NO | 表示该执行计划是否在演进中 |
| evo_executions | bigint(20) | NO | 演进次数 |
| evo_cpu_time | bigint(20) unsigned | NO | 演进过程中总的执行 CPU 时间 |
| timeout_count | bigint(20) | NO | 超时的次数 |
| ps_stmt_id | bigint(20) | NO | 请求对应的 Prepare ID:
|
| sessid | bigint(20) unsigned | NO | 缓存对象所在的 Session ID |
| temp_tables | varchar(65536) | NO | SQL 计划中包含的临时表表名,如果没有临时表,字段为空 |
| is_use_jit | tinyint(4) | NO | SQL 计划是否开启了表达式编译执行 |
| object_type | varchar(65536) | NO | 缓存对象的类型:
|
| hints_info | varchar(65536) | NO | SQL 计划的 Hint 信息 |
| hints_all_worked | tinyint(4) | NO | SQL 计划中的 Hint 是否都已经生效 |
| pl_schema_id | bigint(20) unsigned | NO | 对于非匿名块的 PL 对象,字段为缓存对象的 Schema ID;对于匿名块,字段与 ps_stmt_id 相同;对于 SQL 计划,该字段无意义 |
| is_batched_multi_stmt | tinyint(4) | NO | 表示是否为 Batched Multistmt 优化的计划 |