| ||||||
|
|
Справочное руководство по MySQL7.5.8.6 Пример работы согласованного чтения в InnoDB
7.5.8.6 Пример работы согласованного чтения в InnoDB
При выполнении согласованного чтения (т.е. обычного оператора
Чтобы такой момент времени ``передвинуть вперед'', нужно зафиксировать
транзакцию, а затем выполнить новую команду Это называется многовариантным контролем совпадений. Пользователь A Пользователь B SET AUTOCOMMIT=0; SET AUTOCOMMIT=0; время | SELECT * FROM t; | пустой набор данных | INSERT INTO t VALUES (1, 2); | v SELECT * FROM t; пустой набор данных COMMIT; SELECT * FROM t; пустой набор данных; COMMIT; SELECT * FROM t; --------------------- | 1 | 2 | --------------------- Таким образом, пользователь A увидит строку, вставленную пользователем B только после того, как B зафиксирует вставку, и A зафиксирует свою собственную транзакцию, чтобы момент времени передвинулся на позицию, находящуюся после фиксации, произведенной пользователем B. Чтобы увидеть ``самое свежее'' состояние базы данных, необходимо использовать чтение с блокировкой: SELECT * FROM t LOCK IN SHARE MODE;
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2008-2010 Prime Hosting |
Prime Hosting. Хостинг, VPS - Хостинг, Аренда серверов, dedicated server:Хостинг Реселлинг хостинга VPS - Хостинг Аренда серверов Dedicated server |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||