Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками

Поиск
Список
Период
Сортировка
От Dmitry E. Oboukhov
Тема Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками
Дата
Msg-id 20130508122216.GE16457@vdsl.uvw.ru
обсуждение исходный текст
Ответ на Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками  (Viacheslav N Tararin <taras@logicland.com.ua>)
Список pgsql-ru-general
> Есть. - изменения должны затрагивать только одну запись. А прядок
> выдачи запросов на изменения можно задать програмно в нужном
> порядке. Правда об еффективности в этом случае можно забыть.
> Может на проблему с другого угла посмотреть?

Да другой угол - нормализация полей по двум таблицам, либо другой угол
- блокировка таблиц - понятны. я пока (для себя по кр. мере) хочу
  выяснить вопрос можно ли тут что-то сделать :)

кстати, насчет эффективности

если выдать огромную секцию

WITH
    "u1" AS (UPDATE "table" SET .. WHERE id = 1 AND key = 'abc')
    "u2" AS (UPDATE "table" SET .. WHERE id = 2 AND key = 'abc')
    "u3" AS (UPDATE "table" SET .. WHERE id = 3 AND key = 'abc')
     ...
SELECT
    123
;

то насколько это будет менее эффективно нежели

WITH "list" AS (SELECT ... собрать весь лист id / value )
UPDATE
    "table"
SET
    ...
FROM
    "list"
WHERE
    "list"."id' = "table"."id"


первый вариант не будет дедлочиться, а вот насколько он будет менее
эффективен?
--

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Вложения

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: Viacheslav N Tararin
Дата:
Сообщение: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками
Следующее
От: Сергей Муравьёв
Дата:
Сообщение: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками