У меня есть таблица с многополигонным полем the_geom. Некоторые мультиполигоны были очень подробными, и запросы выполнялись медленно, поэтому я упростил the_geom с помощью st_simplify_preserve_topology. Эта часть была успешной, но теперь я пытаюсь заменить старое поле the_geom новым, но запрос зависает дольше, чем я думал.
Вот то, что я запустил первым, и это быстро, примерно за 60 секунд.
SELECT ST_Multi(ST_SimplifyPreserveTopology(the_geom,0.005)) as fwz_simple FROM fwz;
Затем, когда я пытаюсь обновить таблицу, она запускается и никогда не завершается, примерно через 30 минут ожидания.
UPDATE fwz SET the_geom = subquery.the_geom FROM (SELECT ST_Multi(ST_SimplifyPreserveTopology(the_geom,0.005)) as fwz_simple FROM fwz) as subquery;
Будет ли запрос знать, куда поместить геометрию в контексте целых таблиц? Другими словами, как оператор UPDATE знает, какое имя и т. Д. Поле для выравнивания геометрии? Это то, что вызывает задержку?
Спасибо за любую помощь. Конечно, я могу предоставить более подробную информацию, если это необходимо.