Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> innodb select for update, работа for update 
:(
    Опции темы
idti
Дата 18.8.2011, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 28.2.2009
Где: pnz

Репутация: нет
Всего: нет



Как select справляется с ситуацией, когда он уже начал работать и базу в процесе работы поступают данные, который по идее в него должны попасть? Отличается ли for update в этом смысле?
PM MAIL   Вверх
solenko
Дата 18.8.2011, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 4
Всего: 67



Цитата(idti @  18.8.2011,  13:33 Найти цитируемый пост)
Как select справляется с ситуацией, когда он уже начал работать и базу в процесе работы поступают данные, который по идее в него должны попасть?

Игнорирует
Цитата(idti @  18.8.2011,  13:33 Найти цитируемый пост)
 Отличается ли for update в этом смысле? 

нет

Матчасть


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
idti
Дата 19.8.2011, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 28.2.2009
Где: pnz

Репутация: нет
Всего: нет



Могут ли быть проблемы с таким запросом?
Код

select * from sometable where someforeign = 5 and sometime < 122334559 for update

Есть подозрение, что он может не выполниться, при каких-то условиях.
PM MAIL   Вверх
solenko
Дата 19.8.2011, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 4
Всего: 67



Не выполниться он может, по идее, либо в случае deadlock либо по innodb_lock_wait_timeout


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
idti
Дата 19.8.2011, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 28.2.2009
Где: pnz

Репутация: нет
Всего: нет



Да, ещё, если таблица повреждена. Это всё очевидно. Возможно тут у меня нет проблемы тогда. Спасибо!
PM MAIL   Вверх
Zloxa
Дата 22.8.2011, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(solenko @  18.8.2011,  17:23 Найти цитируемый пост)
Игнорирует

В разных режимах изоляции - по разному. smile 

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

Впрочем, я не эксперт в MySQL и могу ошибаться.

Это сообщение отредактировал(а) Zloxa - 22.8.2011, 10:25


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.