Выбор из внешнего упакованного представления выполняется в 15+ раз дольше, чем прямой выбор в исходной базе данных.
Попытка добавления USE_REMOTE_ESTIMATE 'true' на внешний сервер.Также попытался полностью убить предложение where (запекать его в представлении), так что я знаю, что нет проблем с предикатом / агрегированием при нажатии!
-- On source system (massively complex union of 200 schemas), AWS RDS PG 9.5
explain verbose select * from stats where company_id = 26531;
-- [ 2125 lines of stuff!]
select * from stats where company_id = 26531;
-- completes in 1 - 2.5 seconds
-- From FDW (entirely different AWS RDS instance w/ PG 11)
explain verbose
select * from remoteschema.stats where company_id = 26531;
/*
Foreign Scan on stats (cost=311780.75..323299.91 rows=306770 width=394)
Output: columns
Remote SQL: SELECT columns FROM remoteschema.stats WHERE ((company_id = 26531))
*/
select * from remoteschema.stats where company_id = 26531;
-- completes in 20 seconds
Нет промежуточных результатов для отправки (нет локальных объединений), поэтомуЯ не могу понять, почему так медленно.Я прочитал PG 9.5 FDW имеет проблемы, которые были решены в более поздних версиях.Неужели мне просто нужно обновить эту базу?