Если вы можете отслеживать столбцы wait_class и события в v $ session для удаления сеанса, вы получите представление о причине задержки. Обычно я ожидаю, что полная таблица DELETE будет привязана к диску (индикация ввода-вывода класса ожидания или, возможно, конфигурация). Он должен читать данные из таблицы (чтобы он знал, что удалять), обновлять блоки данных и блоки индекса, чтобы удалить записи, которые генерируют много записей для табличного пространства UNDO и журнала повторов.
В производственной среде базовые файлы могут быть распределены по нескольким дискам (даже SSD). В средах разработки и тестирования все они могут быть привязаны к одному устройству, а движения головок на диске сильно замедляются. Я мог видеть, что прыгать SQL может быть в десять раз. Ваш хуже, чем это.
Если в таблице есть параллельная активность [wait_class of Concurrency]] (например, вставка других сессий), вы можете получить конкуренцию за блокировку или обе сессии пытаются создать индекс.