У меня практически один и тот же запрос соединения, разница между моими (> двумя) запросами заключается в одной из таблиц, в которых производится соединение. По производительности лучше:
1) переписать запросы (в одной хранимой процедуре?) ИЛИ
2) передать таблицу, по которой выполняется соединение, в качестве параметра в хранимой процедуре (написанной в plpgsql BTW) и выполнить запрос, используя EXECUTE
Полагаю, что 2) более элегантно, но нет слов, что с помощью EXECUTE нельзя получить выгоду от оптимизации запросов
Кроме того, как насчет того, когда у меня есть различное количество условий. Как я могу убедиться, что запрос выполняется в оптимальное время? (Я так понимаю, переписывание запроса более 10 раз - это не тот путь: D)