Относительно другой части вашего вопроса:
есть ли другой способ измерить время запроса?
Vertica может регистрировать историю всех запросов, выполненных в кластерекоторый является еще одним источником времени запроса.До 6.0 соответствующей системной таблицей было QUERY_REPO, начиная с 6.0 это QUERY_REQUESTS
.
Если вы используете 6.0 или выше, QUERY_REQUESTS.REQUEST_DURATION_MS
даст вам продолжительность запроса в миллисекундах.
Пример того, как вы можете использовать QUERY_REQUESTS
:
select *
from query_requests
where request_type = 'QUERY'
and user_name = 'dbadmin'
and start_timestamp >= CURRENT_DATE
and request ilike 'select%from%schema.table%'
order by start_timestamp;
Колонки QUERY_PROFILES.QUERY_DURATION_US
и RESOURCE_ACQUISITIONS.DURATION_MS
также могут вас заинтересовать.Вот краткие описания этих таблиц на тот случай, если вы еще не знакомы:
RESOURCE_ACQUISITIONS
- содержит информацию о ресурсах (памяти, дескрипторах открытых файлов, потоках), полученных каждым рабочим запросом для каждого пула ресурсов всистема.
QUERY_PROFILES
- Предоставляет информацию о выполненных запросах.