Читать изменения из транзакции - PullRequest
3 голосов
/ 05 февраля 2010

Какие бы изменения не были внесены в базу данных MySQL, можно ли прочитать эти изменения в одной транзакции? Или я должен совершить транзакцию, чтобы прочитать изменения?

Я мог бы легко проверить это. Но постановка вопроса в SO вызывает много хороших предложений. Спасибо за любой вклад.

1 Ответ

3 голосов
/ 05 февраля 2010

Если вы используете InnoDB, ответ на ваш первый вопрос, как правило, положительный, то есть ответ на ваш второй, как правило, нет.

По умолчанию InnoDB в MySQL использует метод, называемый согласованные неблокирующие чтения :

Запрос видит изменения, сделанные транзакции, совершенные ранее этот момент времени, и никаких изменений сделано позже или не совершено сделки. Исключение из этого Правило состоит в том, что запрос видит изменения, сделанные предыдущими заявлениями в рамках той же транзакции.

При этом, есть много вещей, которые нужно знать о транзакциях. Вы можете изменить уровень изоляции транзакции , чтобы более тщательно контролировать результаты транзакции.

Глава о Модель транзакций InnoDB - отличное место для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...