Re: Re: [pgsql-ru-general] Хранимая процедура: возврат строки разного формата

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-ru-general] Хранимая процедура: возврат строки разного формата
Date: 2011-03-07 21:39:13
Message-ID: 20110307213912.GA9791@apache.rbscorp.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general


DI> Хороший пример задачи, где можно применить hstore.
DI> Решение.
DI> CREATE TABLE device(id serial not null primary key, name text not null); --
DI> усройство
DI> CREATE TABLE measurement(id serial not null primary key,
DI> device integer not null references device(id),
DI> mtime timestamp not null default now(),
DI> data hstore not null) ; -- измерение

DI> Итого: 2 сущности - "устройство" и "измерение". Никаких объединений с pg_class.

кабы было все так просто то и не стоило бы огород городить :) я тут
просто задачу сильно упрощаю по отношению к реальной когда формулирую.

на самом деле данные не удаляются, а помечаются как обработанные это
раз.

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

то есть если мы перейдем к hstore, то получим способ записи/хранения,
но потеряем способы выборки. для хешей одного типа нужен индекс по
key1, для хешей другого типа по key2, для третьего - уникальный ключ
по key3 и key4, плюс еще CHECK'и а так же некоторые измерения имеют
друг на друга FOREIGN'ы.

можно было бы по добавлении записи в любую таблицу пересчет общей
статистики делать, но это накладно, поэтому вот такая схема как я выше
нарисовал используется
--

. ''`. 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

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-03-07 21:47:35 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Хранимая процедура: возврат строки разного формата
Previous Message Dmitriy Igrishin 2011-03-07 21:27:17 Re: [pgsql-ru-general] Хранимая процедура: возврат строки разного формата