Re: Массивы: REFERENCES и выборки
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: Массивы: REFERENCES и выборки |
Дата | |
Msg-id | 20121216180505.GB3446@vdsl.uvw.ru обсуждение исходный текст |
Ответ на | Re: [pgsql-ru-general] Массивы: REFERENCES и выборки (Виктор Вислобоков <corochoone@gmail.com>) |
Список | pgsql-ru-general |
> Ну почитайте, возможно наведёт на мысли > http://postgresql.ru.net/manual/ddl-partitioning.html ну да примерно так мы и партицируем. вот пример точки: Схема | Имя | Тип | Владелец | Размер | Описание --------+-------------------+--------------------+----------+------------+-------------- public | points | таблица | points | 8192 bytes | Точки от GPS public | points_2011_10_12 | таблица | points | 16 kB | public | points_2011_10_13 | таблица | points | 240 kB | public | points_2011_10_14 | таблица | points | 144 kB | public | points_2011_10_15 | таблица | points | 80 kB | public | points_2011_10_16 | таблица | points | 104 kB | public | points_2011_10_17 | таблица | points | 80 kB | public | points_2011_10_18 | таблица | points | 80 kB | public | points_2011_10_19 | таблица | points | 184 kB | public | points_2011_10_20 | таблица | points | 1944 kB | public | points_2011_10_21 | таблица | points | 3256 kB | ... public | points_2012_12_10 | таблица | points | 115 MB | public | points_2012_12_11 | таблица | points | 151 MB | public | points_2012_12_12 | таблица | points | 164 MB | public | points_2012_12_13 | таблица | points | 164 MB | public | points_2012_12_14 | таблица | points | 177 MB | public | points_2012_12_15 | таблица | points | 176 MB | public | points_2012_12_16 | таблица | points | 93 MB | все таблички пишутся по дню, имеют собственные индексы итп итд обращение к общей points позволяет вообще все точки вытащить за весь период их сбора. вопрос тут в том что бывает что чисто исторически уже написано много кода который делает INSERT в родительскую таблицу, тогда мы партицируем методом переноса данных из основной в архивную WITH "del" AS (DELETE ... RETURNING) INSERT INTO "archive_2012_21_21" SELECT "del"; кроме VACUUM вроде никаких различий между методами :) > FOREIGN не догма, надо разбираться для чего оно нужно, тем более что > функциональность FOREIGN KEY долгое время поддерживалась в PostgreSQL > с помощью триггеров, значит и вам никто не мешает написать триггеры, > работающие с разбиениями так, как это нужно вам. Главное, что > разбиения позволяют существенно оптимизировать скорость выполнения > запросов. триггеры вещь довольно неудобная в плане того что просто в консольке сразу не видно что на что ограничивается и куда относится. а так да триггеры можно юзать -- . ''`. 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 по дате отправления: