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();
输出说明
字段 |
说明 |
---|---|
proc_oid |
过程OID(数据库中过程的真实对象ID)。0表示查询。 |
query |
查询字符串或存储过程名称。 |
namespace |
查询或过程所属的命名空间。对于过程和顶级查询,值为GLOBAL。对于所有调用查询、子查询,此字段将显示父信息。 |
jittable_status |
|
valid_status |
查询或过程是否有效:
|
last_updated |
上次更新状态时的时间戳。 |
plan_type |
表示存储过程或查询类型。 |
codegen_time |
代码生成(JIT编译)所需的总时间,单位为微秒。 |
verify_time |
LLVM验证时间(内部),单位为微秒。 |
finalize_time |
LLVM完成时间(内部),单位为微秒。 |
compile_time |
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();
输出说明
字段 |
说明 |
---|---|
proc_oid |
过程OID(数据库中过程的真实对象ID)。0表示查询。 |
id |
用于操控输出的内部ID。 |
parent_id |
父ID(内部ID)。仅适用于子查询和子过程。-1用于顶级查询和过程。 |
query |
查询字符串或存储过程名称。 |
namespace |
查询或过程所属的命名空间。对于过程和顶级查询,值为GLOBAL。对于所有调用查询、子查询,此字段将显示父信息。 |
weight |
执行子查询或子过程的平均次数(每执行一次父存储过程),单位为微秒。 |
total |
执行查询或过程所需的总时间,单位为微秒。 |
self |
查询或过程所花费的时间,不包括子查询和子过程所花费的时间,单位为微秒。 |
child_gross |
执行所有子查询和子过程所花费的总时间(child_net+准备执行所有子查询和子过程所花费的时间),单位为微秒。 |
child_net |
所有子查询和子过程所花费的总时间,即,∑(child总数*weight),单位为微秒。 |
def_vars |
定义变量(内部)所需的时间,单位为微秒。 |
init_vars |
初始化变量(内部)所需的时间,单位为微秒。 |
其他
另外,PG_PROC系统表也可用于获取存储过程和函数的有关信息。
例如,存储过程内容的查询如下:
select proname,prosrc from pg_proc where proname='sp_call_filter_rules_100_1';