
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.11.2015, 20:41:25
|
|||
|---|---|---|---|
|
|||
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
Здравствуйте! В документации 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. Можете ли вы воспроизвести этот баг или объяснить эту аномалию? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 01:08:16
|
|||
|---|---|---|---|
|
|||
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
там же все нарисовано... и написано, что это не БАГ, а документированное действо в первой сессии перед последним селектом 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; Т.е. пока не сделан COMMIT, вы видите свое состояние и изменения, уже сделанные в других сессиях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 09:51:29
|
|||
|---|---|---|---|
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
vishnja, что конкретно не ясно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 13:45:12
|
|||
|---|---|---|---|
|
|||
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
Alex_Ustinov, Не могу воспроизвести, у меня всегда одна строка в конце (со значением '4'), а не две ('1', '4'), как в примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 13:50:35
|
|||
|---|---|---|---|
|
|||
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
MasterZiv, 1) Не могу воспроизвести это поведение. 2) Если это действительно так (я что то неправильно делаю), то хотелось бы разобраться, как вообще может появляться дубль для update'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 14:04:33
|
|||
|---|---|---|---|
|
|||
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
Все, воспроизвел! Видимо стоял уровень изоляции READ-COMMITTED. Хотя вроде много раз пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2015, 14:51:26
|
|||
|---|---|---|---|
Согласованное неблокирующее чтение - аномалия с дублированием строк |
|||
|
#18+
vishnjaВсе, воспроизвел! Видимо стоял уровень изоляции READ-COMMITTED. Хотя вроде много раз пробовал. По умолчанию REPEATABLE READ стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1832500]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 294ms |

| 0 / 0 |
