| From: | Warstone(at)list(dot)ru <warstone(at)list(dot)ru> |
|---|---|
| To: | |
| Cc: | pgsql-ru-general(at)postgresql(dot)org |
| Subject: | Re: [pgsql-ru-general] Номер правки записи |
| Date: | 2015-06-08 12:54:04 |
| Message-ID: | 1433768044.117342013@f71.i.mail.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-ru-general |
Вообще-то триггер подойдет. Есть триггеры на апдейт и там вам пойдет version = OLD.version + 1; Можно еще покопать в сторону RULE, но надо сразу предупредить, что RULE пользовать **НЕ НАДО** (Уже где-то с 5 версий идет разговор о том, что надо RULE выпилить, но все как-то нет).
Понедельник, 8 июня 2015, 14:49 +03:00 от "Dmitry E. Oboukhov" <unera(at)debian(dot)org>:
>Есть табличка
>
>orders: id, col1, col2, ...
>
>И есть код в виде n клиентов, находящийся в разных репозитариях
>которые эту табличку модифицируют
>
>
>каждый модифицирует что-то свое вроде
>
>UPDATE
> orders
>SET
> col1 = bla
>WHERE
> id = 123
>
>Далее хочется подвести статистику сколько раз в среднем каждый order
>за период своей жизни модифицируется.
>
>Для этого вводим столбик:
>
>ALTER TABLE orders ADD COLUMN "version" INTEGER NOT NULL DEFAULT 0;
>
>И далее надо пройтись по всем запросам UPDATE и расставить в SET
>
>, version = version + 1
>
>Все вроде просто, но после того как статистика будет снята это все
>хочется обратно убрать итп.
>
>то есть код на несколько недель.
>
>вопрос а как эту задачу решить средствами БД?
>то есть решить так чтобы не увеличивать нагрузку?
>добавление оператора в SET считаем что нагрузку не увеличивает.
>а дополнительный запрос увеличивает.
>
>триггеры тут вроде не подходят (потому что модифицируется та же
>запись, на которой триггер, плюс нагрузка)
>
>что еще можно придумать?
>
>--
>
>. ''`. 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 | Dmitry E. Oboukhov | 2015-06-08 17:13:35 | Re: Re: [pgsql-ru-general] Номер правки записи |
| Previous Message | Dmitry E. Oboukhov | 2015-06-08 11:49:39 | Номер правки записи |