The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"SELECT ... FOR UPDATE и ORDER BY"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"SELECT ... FOR UPDATE и ORDER BY"  
Сообщение от sy email(ok) on 13-Авг-08, 17:34 
Create table t (id INT NOT NULL PRIMARY KEY, ... );

Предположим я хочу выбрать несколько записей и при необходимости обновить их (решения принимаются на стороне клиента БД).

Тогда я выполняю SELECT * FROM t WHERE ... FOR UPDATE (запрос вернет несколько записей)
и я так понимаю - что ни кто не гарантирует в каком порядке они будут возвращенны и заблокированы.

Предположим несколько клиентов пытаются одновременно выполнить такой SELECT -
Есть опастность DEADLOCK'а. Тогда меня спасет SELECT * FROM t WHERE ... ORDER BY ... FOR UPDATE:)

Я все правильно понимаю или нет?:) Если ошибаюсь то где?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "SELECT ... FOR UPDATE и ORDER BY"  
Сообщение от angra (ok) on 13-Авг-08, 23:55 
Для начала ответьте на вопрос - что за движок используется. Если MyISAM, то можете забыть про FOR UPDATE. Ну а если InnoDB, то прочитайте в доке storage-engines.html#innodb-locking-reads, там все ясно расписано.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "SELECT ... FOR UPDATE и ORDER BY"  
Сообщение от sy email(ok) on 14-Авг-08, 07:59 
>Для начала ответьте на вопрос - что за движок используется.

Простите, в ключевых словах указал, в тексте забыл - Движок PostgreSQL:)

Пошол дальше курить мануал - может, найду, что пропустил, модет придумаю как проверить)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "SELECT ... FOR UPDATE и ORDER BY"  
Сообщение от Аноним (??) on 14-Авг-08, 15:27 
Блокируются все строки одновременно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру