在系统变量或系统表中,Vertica数据库中上次执行的查询是否有任何“行处理的计数”变量?

问题描述:

我想要捕获Vertica VSQL shell中最后一次运行查询的总行处理计数。在系统变量或系统表中,Vertica数据库中上次执行的查询是否有任何“行处理的计数”变量?

我知道这可以通过编程完成,但这不是问题。

要知道答案,任何系统表的指针也将有所帮助,或者Vertica的保持变量。

例如,在Teradata数据库系统中,我知道变量activity_count,它保留上次执行的查询中处理的记录数。从V_MONITOR.QUERY_PROFILES

+0

你的意思是“返回记录”或者“记录处理”?例如,如果一个SELECT ... GROUP BY ...在从表A读取10行并从表B读取20行之后返回1行...你想得到什么? – mauro

+0

我想得到1.让我们在内部处理N个行数,但这不是必需的。我需要选择,插入或更新返回的最终计数。 – minatverma

检查PROCESSED_ROW_COUNT。例如(由最后5个查询返回的行):

SELECT 
    LEFT(query, 30), 
    processed_row_count 
FROM 
    v_monitor.query_profiles 
ORDER BY 
    query_start DESC 
LIMIT 5; 

同时检查Fine Manual

+0

这很有帮助。但这并不是我想要的,因为表格捕获了query_profiles中的所有用户。对于现在运行的每条语句,我将不得不为运行的查询找到Statement_ID和Transaction_ID。我只是想获得最后一次运行sql的活动计数,我将在Logging – minatverma

+0

@minatverma中使用它。不对。您可以在“query_start”上使用SESSION_ID和LIMIT x排序来查找会话中的最后x个查询。并且 - 为了防止您的下一个请求 - 请检查CURRECT_SESSION()的Fine Manual。您的问题显示没有研究工作... – mauro

+0

虽然我在寻找一个隐式维护的变量(我认为Vertica没有这个),但我接受了答案,而不需要在每个DML之后查询系统表。 – minatverma