Есть ли какая-либо переменная Row Processed Count для последнего выполненного запроса в базе данных Vertica, либо в системных переменных, либо в системных таблицах?

Я хочу зафиксировать общее количество обработанных строк последнего запущенного запроса в оболочке Vertica VSQL.

Я знаю, что это можно сделать программно, но здесь вопрос не в этом.

Для ответа также помогут любые указатели системных таблиц или поддерживаемая Vertica переменная.

Например, в системе базы данных Teradata я знаю переменную activity_count, которая ведет подсчет записей, обработанных в последнем выполненном запросе.


person minatverma    schedule 06.10.2017    source источник
comment
Вы имеете в виду возвращенные или обработанные записи? Например, если SELECT... GROUP BY... возвращает 1 строку после чтения 10 строк из таблицы A и 20 строк из таблицы B... что вы хотите получить?   -  person mauro    schedule 06.10.2017
comment
Я хочу получить 1. Пусть внутренняя обработка N строк, но это не требуется. Мне нужен окончательный счет, который был возвращен Select, Insert или Update.   -  person minatverma    schedule 06.10.2017


Ответы (1)


Проверьте PROCESSED_ROW_COUNT из V_MONITOR.QUERY_PROFILES. Например (строки, возвращенные последними 5 запросами):

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

Также проверьте Точное руководство

person mauro    schedule 06.10.2017
comment
Это полезно. Но это не совсем то, чего я хочу, так как таблица фиксирует всех пользователей в query_profiles. Для каждого оператора, который выполняется сейчас, мне нужно будет найти Statement_ID и Transaction_ID для запущенных запросов. Я просто хотел получить счетчик активности последнего запущенного sql, который я буду использовать в ведении журнала. - person minatverma; 06.10.2017
comment
@минатверма. Не правда. Вы можете использовать сортировку SESSION_ID и LIMIT x в query_start, чтобы найти последние x запросов из вашего сеанса. И - чтобы предотвратить ваш следующий запрос - проверьте Fine Manual для CURRECT_SESSION(). Ваш вопрос не показывает никаких усилий по исследованию... - person mauro; 07.10.2017
comment
Я принимаю ответ, хотя я искал неявно поддерживаемую переменную (я думаю, что у Vertica ее нет), без необходимости запрашивать системную таблицу после каждого DML. - person minatverma; 07.10.2017