Re: [pgsql-ru-general] Номер правки записи

Поиск
Список
Период
Сортировка
От Warstone@list.ru
Тема Re: [pgsql-ru-general] Номер правки записи
Дата
Msg-id 1433768044.117342013@f71.i.mail.ru
обсуждение исходный текст
Ответы Re: Re: [pgsql-ru-general] Номер правки записи  ("Dmitry E. Oboukhov" <unera@debian.org>)
Список pgsql-ru-general
Вообще-то триггер подойдет. Есть триггеры на апдейт и там вам пойдет version = OLD.version + 1; Можно еще покопать в сторону RULE, но надо сразу предупредить, что RULE пользовать **НЕ НАДО** (Уже где-то с 5 версий идет разговор о том, что надо RULE выпилить, но все как-то нет).


Понедельник, 8 июня 2015, 14:49 +03:00 от "Dmitry E. Oboukhov" <unera@debian.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@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 по дате отправления:

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Номер правки записи
Следующее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: Re: Re: [pgsql-ru-general] Номер правки записи