Для этого запроса:
SELECT . . .
FROM si.table1 w INNER JOIN
si.table1 b
ON w.par_row_id = b.par_row_id AND
w.field_1 = b.field_1 AND
w.field_3 = b.field_3 AND
w.field4 = b.field4
WHERE w.field4 = 'TEXT1' AND
UPPER(w.field_2) = 'TEXT2' AND
UPPER(b.field_2) = 'TEXT3';
Вам нужна стратегия индексирования. Я бы пошел table1(field4, upper(field_2), par_row_id, field_1, field_3, field4)
и table1(par_row_id, field_1, field_3, field_4, upper(field2))
.