powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Согласованное неблокирующее чтение - аномалия с дублированием строк
8 сообщений из 8, страница 1 из 1
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101155
vishnja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
В документации MySQL сказано, что существует аномалия с дублированием строк (первый абзац):
http://dev.mysql.com/doc/refman/5.7/en/innodb-consistent-read.html
Я нашел больше информации по этой теме здесь:
http://grokbase.com/t/mysql/mysql/0859na0v98/pls-help-clarify-dox-innodb-consistent-non-locking-read-behavior
Но воспроизвести сам баг я не смог. Мне кажется, что понимание таких нюансов важно для того, чтобы хорошо разбираться в работе MySQL.
Можете ли вы воспроизвести этот баг или объяснить эту аномалию?
Спасибо!
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101303
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там же все нарисовано... и написано, что это не БАГ, а документированное действо
в первой сессии перед последним селектом Peter не сделал COMMIT. Он увидел свое состояние записи, т.е свой старый "снимок" и состояние записи с учетом второй "закоммиченной" сессии.
Если бы он сделал COMMIT - увидел бы одной запись
жирным выделеноOn T1, say:
set @@autocommit=0;
create table t6 (s1 int, primary key(s1)) engine=innodb;
insert into t6 values (1);commit;select * from t6;
On T2, say:
set @@autocommit=0;
update t6 set s1 = s1 + 1;
commit;
On T1, say:
update t6 set s1 = s1 + 2;
COMMIT;
select * from t6;
но тоже бы удивился, увидев 4 а не 3.
Т.е. пока не сделан COMMIT, вы видите свое состояние и изменения, уже сделанные в других сессиях
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101437
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vishnja,

что конкретно не ясно?
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101798
vishnja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
Не могу воспроизвести, у меня всегда одна строка в конце (со значением '4'), а не две ('1', '4'), как в примере.
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101806
vishnja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
1) Не могу воспроизвести это поведение.
2) Если это действительно так (я что то неправильно делаю), то хотелось бы разобраться, как вообще может появляться дубль для update'а.
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101828
vishnja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, воспроизвел! Видимо стоял уровень изоляции READ-COMMITTED. Хотя вроде много раз пробовал.
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39101881
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vishnjaВсе, воспроизвел! Видимо стоял уровень изоляции READ-COMMITTED. Хотя вроде много раз пробовал.

По умолчанию REPEATABLE READ стоит.
...
Рейтинг: 0 / 0
Согласованное неблокирующее чтение - аномалия с дублированием строк
    #39102440
vishnja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
На OpenServer по умолчанию READ-COMMITTED.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Согласованное неблокирующее чтение - аномалия с дублированием строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]