From: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками |
Date: | 2013-05-08 12:22:16 |
Message-ID: | 20130508122216.GE16457@vdsl.uvw.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
From | Date | Subject | |
---|---|---|---|
Next Message | Сергей Муравьёв | 2013-05-08 15:37:07 | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками |
Previous Message | Viacheslav N Tararin | 2013-05-08 12:11:47 | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками |