







|
MySQL.RU - Webboard
Вернуться
Поясните один момент в транзакциях (Alex) 17/09/2005 - 22:05:31
Re: Поясните один момент в транзакциях (Роберт) 17/09/2005 - 22:30:20
Re: Поясните один момент в транзакциях (Dinky) 19/09/2005 - 20:56:26
> Original message text:
> From: Alex - 17/09/2005 - 22:05:31
> Subject:Поясните один момент в транзакциях
> -----------------
> В MySQL можно делать транзакции. При транзакции таблица временно блокируется для остальных процессов, по завершении транзакции - разблокируется.
>
> Если мой процесс пытается обратиться к таблице и видит, что она заблокирована, то процесс должне какое-то время подождать и потом снова попытаться обратиться к таблице.
>
> Вопрос в следуещем: что если в ОЧЕНЬ загруженной системе таблица транзакциями будет блокироваться очень часто, настолько часто, что когда бы мой процесс не обратился бы к таблице, она постоянно будет занята. Процесс тогда просто не сможет произвести никаких работ с таблицей. Что делать в такой ситуации?!
>
> Транзакции и блокировки используются во всех коммерческих продуктах, но ведь при большой загрузке БД (например в баннерной сети) блокировок может получиться ОЧЕНЬ много! Как решается данная проблема профессионалами?
>
> Я сколько не искал ответа на такой, казалось бы закономерный, вопрос, в книгах ответа не нашел.
>
> Может быть при использовании транзакций таких проблем вообще быть не должно?
>
> Помогите разобраться! Заранее спасибо!
>
From: Роберт - 17/09/2005 - 22:30:20
Subject:Поясните один момент в транзакциях
-----------------
Чисто теоретический ответ:
1) Блокировка идёт не на всю базу а на страницу записей в которую попадант всего несколько десятков записей (а может и всего одна)
2) Select ты всё равно сделаешь , а вот Update будет ждать пока не разблокируется (ну это же не долго подождать в очереди).
3) Баннерные сети работают без транзакций. Или приведи пример в котором для неё может потребоваться использование транзакций? Для них важна быстрота!
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
24071
|
|