Насколько избирателен этот индекс? Если в вашей таблице один миллион строк, а это значение достигает ста пятидесяти тысяч, тогда ваш индекс бесполезен. На самом деле это может быть хуже, чем бесполезно, если оно действительно используется. Помните, что DELETE похож на оператор SELECT: мы можем настроить его путь доступа.
Кроме того, удаление занимает много места для отмены табличного пространства, так что вы можете страдать от конкуренции, если система интенсивно использует. В многопользовательской системе другой сеанс может иметь блокировку на строках, которые вы хотите удалить.
Есть ли у вас триггеры ON DELETE? Есть ли у вас ограничения внешнего ключа ON DELETE CASCADE?
Редактировать: Учитывая все, что вы говорите, и особенно рассматриваемый столбец является первичным ключом, поэтому вы пытаетесь удалить одну строку, если это занимает много времени, гораздо более вероятно, что какой-то другой процесс или пользователь имеет блокировку строки. Что-нибудь появляется в V$LOCK
?