To je rozumná funkce . Povaha dynamických dotazů spočívá v tom, že mění svou strukturu od volání k volání.
Pokud chcete stejný dotaz volat opakovaně (volitelně s různými parametry), použijte připravené příkazy :
Nebo použijte prostý (nedynamický) kód SQL uvnitř funkcí plpgsql, s těmi se také zachází jako s připravenými příkazy.
Ve vašem případě , může být nejlepší PREPARE
dotazy dynamicky. Měli jsme zde velmi podobný případ:
Také je extrémně neobvyklé, že dotaz stráví 1,4 sekundy plánováním a pouze 0,1 sekundy provedením. Možná stojí za to se podívat. Mohou existovat způsoby optimalizace. Stejně jako u join_collapse_limit
:
- Ukázkový dotaz k zobrazení chyby odhadu mohutnosti v PostgreSQL
- Odpověď:Pomalé fulltextové vyhledávání kvůli velmi nepřesným odhadům řádků
Související: