MySQL 5.1 является более строгим при использовании чтения-uncommitted и binlogging (необходимого для репликации) - поэтому вы можете получить ошибки в некоторых простых операторах update / delete, которые вы не получите на уровне изоляции по умолчанию REPEATABLE READ. Я видел простые обновления ПК, такие как:
Обновить строку установки foo = 1, где id = 1234;
Ошибка с:
mysql_real_query ошибка 1598 сообщение: Binary
регистрация невозможна. Сообщение: уровень транзакции READ-UNCOMMITTED в InnoDB
не безопасно для режима binlog 'STATEMENT'
Таким образом, вы должны быть готовы с этим справиться, переключившись на повторяющиеся операции чтения при изменении данных или используя отдельные соединения для чтения и записи, с их собственными уровнями изоляции. Последнее может пригодиться, когда / если ваш проект масштабируется и требуется репликация, так что вы можете отправлять select на ведомое устройство только для чтения и записывать на мастер.
OTOH, использование read-uncommitted для чтения может быть реальным преимуществом, если не требуется последовательное чтение, так как Innodb имеет меньше блокировок для выполнения.
Что касается вопроса о возможности отката, я думаю, что вы - лучший человек, который расскажет нам об этом, поскольку именно вы его кодируете:).