Здравствуйте, форумчане !
А как будет обрабатывать MySql одновременно (с точностью до кванта времени) два противоречивые запросы, к примеру выборка строки с id `5` и удаление (или изменение ) той же строки.
И каким образом можно сделать приоритет одних запросов (delete, к примеру, должен обрабатываться перед select/insert) над другими ?
Читал о блокировании необходимой таблицы, но насколько это может помочь при двух (нескольких) взаимно противоречивых запросах ?
И как вы решаете данную проблему ?
1. LCarlo - 23 Июля, 2014 - 13:24:16 - перейти к сообщению
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/
То у них всё равно будут разные id транзакций, от которых пляска и идёт.
Поподробнее вроде бы вот тут неплохо описано, но тоже коротко: http://habrahabr[dot]ru/post/208400/
LCarlo пишет:
с точностью до кванта времени
То у них всё равно будут разные id транзакций, от которых пляска и идёт.