Я использую pg-обещание для запроса базы данных postgis, содержащей растры. Запросы - это строки (без параметров), сгенерированные перед обработкой pg-обещанием.
Продолжительность одного запроса обычно составляет 140 мс (определяется функцией результата), в то время как в psql только 15 мс.
Пример:
SELECT ST_Value(t_2m_1, ST_SetSrid(ST_MakePoint(5,50),4326)) AS t_2m_1 FROM iconeu_001 WHERE ST_Intersects(t_2m_1,ST_SetSrid(ST_MakePoint(5,50),4326));
Results: [ { t_2m_1: 4.61391601562502 } ] Duration: 147ms
Во время синхронизации в psql:
t_2m_1
------------------
4.61391601562502
(1 row)
Time: 15.828 ms
Это означает, что 90% времени тратится на предварительную и последующую обработку запроса, как объяснено здесь .
Кроме того, есть ли способ значительно ускорить эти шаги (например, пропуская некоторые ненужные шаги) ??
Заранее спасибо.
PS: поздравляем vitaly-t с этим прекрасным модулем!