|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Oleg Bokanov 2:5020/400 26 Dec 2002 20:30:25 To : Vladimir Pavlikov Subject : Re: Синхpонизация доступа к БД -------------------------------------------------------------------------------- "Vladimir Pavlikov" <pvv@soil.msu.ru> сообщил/сообщила в новостях следующее: news:auf94g$r9a$1@host.talk.ru... > Hello, Oleg Bokanov! > You wrote to Vladimir Pavlikov on Thu, 26 Dec 2002 14:21:05 +0000 (UTC): > > > >> Как указано выше - select for update. > > OB> А зачем в этом примере select for update? > OB> В примере приведена последовательность операций - Delete в > OB> первой транзакции и Insert во второй. > OB> Эти операции установят блокировки самостоятельно и без select for > OB> update, имхо. > > Вопрос лишь в том, когда. Селект, запущенный в начале транзакции, > сделает это сразу. А модификаторы - лишь по мере их вызовов, > коих может быть много, и которые могут быть размазаны по всей > транзакции. > > OB> И организацией целостности данных административными методами я > OB> что-то не совсем понял :( > > Hе целостности данных, а осмысленности работы с ними. Если две > (или больше) транзакции почти одновременно модифицируют одни и > те же поля одной записи - результат будет определяться их > [случайной] последовательностью, причем все модификации, кроме > последней, будут бессмысленными. А конечный результат - до пере- > селекта - неизвестным. И это можно предотвратить _только_ адми- > нистративными способами (возможно, с технической лишь поддержкой) > - "разведением" юзеров по времени/подмножествам данных, приори- > тетами и т.д. При этом подавляющее большинство вопросов подоб- > ного типа просто отпадет за ненадобностью. А оставшиеся и так > отрабатываются сервером, как получится :) По крайней мере, при > правильных уровнях изоляции целостность самих данных не стра- > дает. > --------------------------------------------- > Владимир Павликов. > Все, конечно, правильно, мне лишь показалось, что ты можешь слегка запутать человека упомянув про select for update, использование которого в его конкретном примере необязательно и административные способы в то время как он пытается разобраться с транзакциями, блокировками и т.п. А то что "подавляющее большинство вопросов подобного типа просто отпадет за ненадобностью" опять же, безусловно верно, но не освобождает разработчика от необходимости понимания механизма. Он как раз и пишет в самом начале, что "...сам не особо над этим задумывался раньше, считая, что все делает умный сервер" :) Олег Боканов. --- ifmail v.2.15dev5 * Origin: WEBPlus Ltd. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/13431a5348b34.html, оценка из 5, голосов 10
|