Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Select и Update/Delete - запрос одновременно
Форумы портала PHP.SU » Серверное администрирование » Администрирование БД » Select и Update/Delete - запрос одновременно

Страниц (1): [1]
 

1. LCarlo - 23 Июля, 2014 - 13:24:16 - перейти к сообщению
Здравствуйте, форумчане !
А как будет обрабатывать MySql одновременно (с точностью до кванта времени) два противоречивые запросы, к примеру выборка строки с id `5` и удаление (или изменение ) той же строки.
И каким образом можно сделать приоритет одних запросов (delete, к примеру, должен обрабатываться перед select/insert) над другими ?

Читал о блокировании необходимой таблицы, но насколько это может помочь при двух (нескольких) взаимно противоречивых запросах ?
И как вы решаете данную проблему ?
2. tuareg - 23 Июля, 2014 - 13:46:07 - перейти к сообщению
LCarlo пишет:
И как вы решаете данную проблему ?

Никак. Если используйте myisam можете вообще не волноваться, хотя innodb такая же фигня mysql сам все разрулит. Будут блокировки на уровне таблицы(myisam)/ строки(innodb)
3. Мелкий - 23 Июля, 2014 - 14:43:19 - перейти к сообщению
Если очень коротко - MVCC и транзакционная модель.
Поподробнее вроде бы вот тут неплохо описано, но тоже коротко: http://habrahabr[dot]ru/post/208400/

LCarlo пишет:
с точностью до кванта времени

То у них всё равно будут разные id транзакций, от которых пляска и идёт.

 

Powered by ExBB FM 1.0 RC1