"Когда в моем поисковом запросе только два из трех, кажется, что все уже не так быстро!"
А ты ожидал чего-то еще?
Если вам нужно было позвонить всем «Смит, Джон» в телефонной книге, у вас может быть 50 записей, и это займет 5 часов. Если вы наберете все записи «Смит» в телефонной книге, у вас может быть 500 записей, и это займет в десять раз больше времени.
Реальный вопрос в том, какие объемы данных вы ожидаете обработать, является ли производительность приемлемой / приемлемой.
Глядя на запрос, можно выбрать индексирование cover_period_start_ts и / или appl_perf_interval_typ_id, отдельно или в сочетании с другими столбцами. Я подозреваю, что много времени тратится на поиск строки, соответствующей критериям индекса, переход к таблице, а затем отклонение строки, поскольку отметка времени или интервал не соответствуют указанным критериям.
PS. если вы посмотрите на запрос, то увидите, что все три столбца указаны в части! = 'NULL' предложения where, поэтому технически он использует все три столбца индекса, но два - как access_predicate, а один - как фильтр_предикат