Чтобы найти количество строк в таблице temperatures
, которые существуют за каждый час, я выполняю серию SQL запросов в моей базе данных PostgreSQL 11.2 с расширением TimescaleDB 1.6.0. temperatures
является гипертаблицей TimescaleDB.
Например,
SELECT COUNT(*) FROM temperatures
WHERE DATE_PART('year', "timestamp") = 2020
AND DATE_PART('month', "timestamp") = 2
AND DATE_PART('day', "timestamp") = 2
AND DATE_PART('hour', "timestamp") = 0
AND DATE_PART('minute', "timestamp") = 0
Вопрос: Однако этот запрос выглядит очень медленным (я думаю), принимая около 6-8 секунд на запрос без других запросов к этой базе данных. Таблица temperatures
содержит 11,5 миллионов строк. На каждый час приходится около 100-2000 строк.
Поиск предложений по улучшению скорости таких запросов. Спасибо!