Что произойдет, если мы прочитаем из таблицы, в то время как транзакционное обновление происходит в этой таблице?

#mysql #sql #transactions

#mysql #sql #транзакции

Вопрос:

Предположим, у меня есть таблица с именем Record .

С транзакцией X я добавлю 1 миллион новых записей, а также изменю некоторые существующие записи.

Пока транзакция X выполняется и еще не завершена, если я запрошу таблицу записей, увижу ли я новые записи? Кроме того, увижу ли я обновления существующих записей?

Комментарии:

1. Я думаю, это зависит от transaction isolation level .

2. Вы знакомы с тем, что такое MVCC ?

3. @tadman, нет, я с этим не знаком.

4. Прочтение этого, вероятно, многое объяснит. Движок InnoDB не так хорош, как Postgres, в обработке этого, но он хорошо справляется. Документация InnoDB по MVCC объясняет с точки зрения MySQL.

5. @tadman, спасибо. Так что это действительно зависит от типа используемого движка.