Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Партиционирование ? / 7 сообщений из 7, страница 1 из 1
10.10.2005, 11:53
    #33314511
KRED
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
http://developer.postgresql.org/docs/postgres/release.html#RELEASE-8-1

Вот там в прес-релизе нашол авторImprove performance for partitioned tables (Simon)

The new constraint_exclusion configuration parameter avoids lookups on child tables where constraints indicate that no matching rows exist in the child table.

This allows for a basic type of table partitioning. If child tables store separate key ranges and this is enforced using appropriate CHECK constraints, the optimizer will skip child table accesses when the constraint guarantees no matching rows exist in the child table.

Как это понимать ? Когда в постгресте появилась возможность создавать партиции ?
...
Рейтинг: 0 / 0
10.10.2005, 11:54
    #33314516
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
Сдается мне, что во времен 8-ки. Смотри tablespaces.
...
Рейтинг: 0 / 0
10.10.2005, 12:07
    #33314564
KRED
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
Кувалдин РоманСдается мне, что во времен 8-ки. Смотри tablespaces.

Смотрел ... но там нету ни какого воспоминания о каком либо делении таблицы (индекса) на разные партиции . Там ведь только где физически будет лежать ВСЯ таблица. нельзя ведь часть (логическую часть таблицы) данных положить на один диск а другую часть (которая к примеру много обновляется) положить на другой.
...
Рейтинг: 0 / 0
10.10.2005, 15:47
    #33315393
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
Можно - если использовать механизм наследования...
CREATE TABLE test (...) TABLESPACE pg_default
CREATE TABLE old_test () inherits (test) TABLESPACE pg_arhiv

select * from test - тянутся записи из обоих таблиц(т.е. текущие и старые)
select * from test only - тянутся записи только текущие
select * from old_test - тянутся записи только старые

распределение записей между старым и новым таблеспейсом можно
делегировать триггеру на test...и old_test
...
Рейтинг: 0 / 0
10.10.2005, 16:20
    #33315517
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
constraint_exclusion
это новый параметр в 8.1
должен позволить не искать в таблицах потомках запись если она не удовлетворяет
выражению check.., т.е. поиск будет проводится только в той партиции которая удовлетворяет условиям поискаюю


Enables or disables the query planner's use of table constraints to limit table access. The default is off.

When this parameter is on, the planner compares query conditions with table CHECK constraints, and omits scanning tables where the conditions contradict the constraints. (Presently this is done only for child tables of inheritance scans.) For example:

CREATE TABLE parent(key integer, ...);
CREATE TABLE child1000(check (key between 1000 and 1999)) INHERITS(parent);
CREATE TABLE child2000(check (key between 2000 and 2999)) INHERITS(parent);
...
SELECT * FROM parent WHERE key = 2400;With constraint exclusion enabled, this SELECT will not scan child1000 at all. This can improve performance when inheritance is used to build partitioned tables.
...
Рейтинг: 0 / 0
10.10.2005, 17:13
    #33315670
KRED
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
Спасибо за полный и равёрнутый ответ. После перечитывания док и примеров касающихся наследования ... ну и немного сам попробовать успел. Понял что дальше чем новые и старые (читать текущие и архивные данные) данные это дело мало годится так как сопровождение очень тяжело. А перетаскивание лучше ручками делать ... и условие CHECK подправлять не забывать.

Просто думал что это типа как в оракле. Потому и ОЧЕНЬ удивился что я такое пропустил.

Кстати а что с вторичными ключами ? с ними вроде будет проблемка ... если родителей(первычные ключи) перенести в таблицу архива.....
...
Рейтинг: 0 / 0
10.10.2005, 17:26
    #33315711
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Партиционирование ?
Индексы не наследуются..
Наследуются только метаданные ( поля)..
За всем остальным хозяйством придется следить самостоятельно...
Т.е. если вам это надо - и вы действительно знаете, что делаете -
то вам дан в руки механизм- который можно использовать..( но не бездумно)
Т.е. у вас в руках не автоматическая коробка передач- а ручная...
Точно такой же рычаг есть и для материализированых view..
такая функциональность есть но придется немного поработать руками...
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Партиционирование ? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]