Цитата(solenko @ 18.8.2011, 17:23 ) | Игнорирует |
В разных режимах изоляции - по разному.
Если бы речь шла о версионнике, ответ не вызвал бы сомнений. Но маська - блокировочник. И изоляцию транзакций, если я не ошибаюсь, он обеспечит тем, что не позволит вставить/изменить данные, которые могут попасть под критерии отбора до тех пор, пока отбор не отработает полностью. Врядли для описания такого поведения слово "игнорирует" можно назвать подходящим, хотя результаты действий блокирования и игнорирования - схожи. Естесственно, что при read uncommited изоляция обеспечиваться не будет вовсе, и запрос сможет вернуть не согласованный результат в случае, если исходные данные менялись в процессе работы запроса. Я так полагаю for update в этом отношении, ничего не меняет. Данные не смогут быть изменены лишь и толко после того, как они были отобраны, на сам процесс отбора for update влияет врядли.
Впрочем, я не эксперт в MySQL и могу ошибаться. |