Базы данных часто сохраняют либо журнал перед изображением (каким он был до транзакции), либо журнал после изображения (каким он будет, когда транзакция завершается.) Если он сохраняет изображение перед изображением, его необходимо восстановить. на откат. Если он сохраняет остаточное изображение, оно должно заменить данные в случае фиксации.
Oracle имеет как журнал, так и пространство отката. Журнал транзакций накапливает блоки, которые позже записываются авторами БД. Поскольку они асинхронные, почти ничего не связанное с записывающим устройством БД не повлияет на вашу транзакцию (если очередь заполняется, возможно, вам придется подождать.)
Даже для транзакции, основанной только на запросах, я бы поспорил, что в областях отката Oracle есть немного ведения транзакций. Я подозреваю, что откат требует некоторой работы со стороны Oracle, прежде чем он определит, что на самом деле нет ничего для отката. И я думаю, что это синхронно с вашей транзакцией. Вы не можете действительно снять любые блокировки, пока откат не будет завершен. [Да, я знаю, что вы не используете ничего в своей транзакции, но проблема блокировки заключается в том, почему я думаю, что откат должен быть полностью снят, тогда все блокировки могут быть сняты, тогда ваш откат закончен.]
С другой стороны, коммит более или менее является ожидаемым результатом, и я подозреваю, что отбрасывание области отката может быть немного быстрее. Вы не создали записей транзакций, поэтому программа записи базы данных даже не проснется, чтобы проверить и обнаружить, что делать нечего.
Я также ожидаю, что, хотя коммит может быть быстрее, различия будут незначительными. Настолько незначительный, что вы даже не сможете измерить их в параллельном сравнении.