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

From: Сергей Муравьёв <smurav78(at)gmail(dot)com>
To: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками
Date: 2013-05-08 15:37:07
Message-ID: CAOzrXHR79NuqnPNRRYmojXaouM8PDX8wJUZE3MDxUdnNRpS-mA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Думаю, первый вариант будет в разы медленнее.
Но лучше не гадать, а провести анализ запросов и замеры времени выполнения.

Тут есть информация и про анализ запросов, и про выгоду от блокировки таблиц
http://www.opennet.ru/base/dev/postgresql_tune.txt.html

8 мая 2013 г., 16:22 пользователь Dmitry E. Oboukhov <unera(at)debian(dot)org>написал:

> > Есть. - изменения должны затрагивать только одну запись. А прядок
> > выдачи запросов на изменения можно задать програмно в нужном
> > порядке. Правда об еффективности в этом случае можно забыть.
> > Может на проблему с другого угла посмотреть?
>
> Да другой угол - нормализация полей по двум таблицам, либо другой угол
> - блокировка таблиц - понятны. я пока (для себя по кр. мере) хочу
> выяснить вопрос можно ли тут что-то сделать :)
>
> кстати, насчет эффективности
>
> если выдать огромную секцию
>
> 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
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEAREDAAYFAlGKQ3gACgkQq4wAz/jiZTfINgCgnrZwwyxDiF5e/UAQxYjpj+yi
> v7IAoO1k5lA4VxvHDYNEEjWn3cYaXuwf
> =WkX3
> -----END PGP SIGNATURE-----
>
>
--
С уважением
Муравьёв Сергей

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Sergey Konoplev 2013-05-08 17:02:46 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками
Previous Message Dmitry E. Oboukhov 2013-05-08 12:22:16 Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками