1-й метод
Создайте один индекс для нескольких столбцов в вашей большой толстой таблице
create index <index_name> on <table_name> (DEP, EMP, FA, LO);
2-й метод
Хотя я сомневаюсь, что это решит вашу проблему с производительностью, есть обходной путь для параметров max 1000 IN.
Вы можете обойти это, сделав сравнение с двумя значениями, как это
UPDATE My_table
SET DAC = ...
WHERE DEP ='98001'
AND EMP ='333'
AND ('dummy',FA) IN (('dummy','123'),('dummy', '321'), ('dummy','234'), …. around 10 000 FA);
Таким образом, у вас будет максимум 100000 значений.
Другой совет
Проверьте тип данных ваших столбцов DEP, EMP, FA и LO, возможно, вы выполняете сравнение VARCHAR2 и NUMBER. И хотя это работает, oracle выполняет неявное преобразование, чтобы иметь возможность выполнять сравнение, что может вызвать проблемы с производительностью при сравнении множества и множества значений.