Использование mysql innodb в качестве очереди? - PullRequest
1 голос
/ 25 июля 2010

У меня есть две работы, извлекаемые из таблицы mysql. Они оба хотят получить строку, поработать над ней и обновить эту строку результатами, однако я не хочу, чтобы они выбирали одну и ту же строку для обновления. Как лучше всего использовать механизм mysql / innodb для блокировки строки в select, чтобы она была недоступна для других потоков, но позволяла им выбирать другие записи? это возможно?

спасибо!

1 Ответ

0 голосов
/ 25 июля 2010

Вы можете добавить модификатор «FOR UPDATE» в конец оператора select.т.е.

SELECT * FROM table WHERE pkey = N FOR UPDATE;

.. но я думаю, что вам следует быть осторожным при использовании InnoDB в качестве очереди и стремлении к производительности.Очереди ориентированы на стек и нуждаются в различных инструментах, которые InnoDB (и MySQL) пытаются решить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...