Если Merge не использует индекс, то можно попробовать явно указать колонки явно. Т.е. вместо
merge into t1
using t2
написать
merge into (select c1, c2 from t1) t1
using (select c3 from t2) t2
Это же относится и к избыточной работе с temp/памяти для HASH JOIN.
Отличные исследования по этому поводу:
https://alexanderanokhin.wordpress.com/2012/07/18/dont-forget-about-column-projection/
https://jonathanlewis.wordpress.com/2016/06/06/merge-precision/