Внутренняя структура приложения, которую мы используем в моей компании, делает необходимым каждый SQL-запрос в транзакции, даже если я знаю, что ни одна из команд не внесет изменений в базу данных. В конце сеанса, перед закрытием соединения, я фиксирую транзакцию, чтобы закрыть ее правильно. Интересно, было ли какое-то особое отличие, если я откатил его назад, особенно с точки зрения скорости.
Обратите внимание, что я использую Oracle, но я думаю, что другие базы данных имеют схожее поведение. Кроме того, я не могу ничего сделать с требованием начать транзакцию, что часть базы кода из моих рук.