MOT JIT诊断
mot_jit_detail
该内置函数用于查询JIT编译(代码生成)的详细信息。
使用示例
select * from mot_jit_detail();
select proc_oid, substr(query, 0, 50), namespace, jittable_status, valid_status, last_updated, plan_type, codegen_time from mot_jit_detail();
输出说明
查询或过程所属的命名空间。对于过程和顶级查询,值为GLOBAL。对于所有调用查询、子查询,此字段将显示父信息。 | |
jittable_status |
|
查询或过程是否有效:
| |
上次更新状态时的时间戳。 | |
表示存储过程或查询类型。 | |
代码生成(JIT编译)所需的总时间,单位为微秒。 | |
LLVM验证时间(内部),单位为微秒。 | |
LLVM完成时间(内部),单位为微秒。 | |
LLVM编译时间(内部),单位为微秒。 |
mot_jit_profile
此内置函数用于查找查询或存储过程执行的分析数据(性能数据)。
使用示例
select * from mot_jit_profile();
select proc_oid, id, parent_id, substr(query, 0, 50), namespace, weight, total, self, child_gross, child_net from mot_jit_profile();
输出说明
查询或过程所属的命名空间。对于过程和顶级查询,值为GLOBAL。对于所有调用查询、子查询,此字段将显示父信息。 | |
weight | 执行子查询或子过程的平均次数(每执行一次父存储过程),单位为微秒。 |
执行查询或过程所需的总时间,单位为微秒。 | |
查询或过程所花费的时间,不包括子查询和子过程所花费的时间,单位为微秒。 | |
执行所有子查询和子过程所花费的总时间(child_net+准备执行所有子查询和子过程所花费的时间),单位为微秒。 | |
所有子查询和子过程所花费的总时间,即,∑(child总数*weight),单位为微秒。 | |
定义变量(内部)所需的时间,单位为微秒。 | |
初始化变量(内部)所需的时间,单位为微秒。 |
其他
另外,PG_PROC系统表也可用于获取存储过程和函数的有关信息。
例如,存储过程内容的查询如下:
select proname,prosrc from pg_proc where proname='sp_call_filter_rules_100_1';