Това е разумна функция . Естеството на динамичните заявки е, че те променят структурата си от обаждане на повикване.
Ако искате да извикате една и съща заявка многократно (по избор с различни параметри), използвайте подготвени оператори :
Или използвайте обикновен (нединамичен) SQL код във функциите plpgsql, те също се третират като подготвени изрази.
Във вашия случай , може би е най-добре да PREPARE
заявки динамично. Тук имахме много подобен случай:
Освен това е изключително необичайно, че една заявка изразходва 1,4 секунди за планиране и само 0,1 секунди за изпълнение. Може би си струва да се разгледа. Може да има начини за оптимизиране. Като с join_collapse_limit
:
- Примерна заявка за показване на грешка при оценката на кардиналността в PostgreSQL
- A:Бавно търсене в пълен текст поради изключително неточни оценки на редове
Свързани: