несколько вопросов новичка (ограничения и индексы)

Поиск
Список
Период
Сортировка
От Dmitry E. Oboukhov
Тема несколько вопросов новичка (ограничения и индексы)
Дата
Msg-id 20110221062816.GF23127@apache.rbscorp.ru
обсуждение исходный текст
Список pgsql-ru-general
есть табличка

servers:

 | id | name |

есть другая табличка в которой каждая запись может иметь отношение к
нескольким серверам, однако выборок кроме как статистики не
планируется, соответственно хочется сделать в ней такой вот столбик:

resources:

 | id | some column | ... | server_id[] |

то есть денормализованный вариант который позволяет без join'ов
отвечать на вопрос: на каких еще серверах лежит данный ресурс?


Вопрос: как написать ограничение для столбика server_id[] чтобы

1. в нем проводилась проверка валидности укладываемых в него ID
2. чтобы эта проверка не убила профит от денормализации по накладным
расходам


и еще: можно ли выборкой из второй и первой таблицы получить результат
вида:

 | id | some column | ... | server_name[] |

Я с массивами в столбиках пока еще плаваю :)


И еще вопрос по индексам.

есть табличка

 | id | ... | type::varchar(16) |

по полю type построен BTREE индекс. Значение в поле type по сути -
ENUM. Однако варианты иногда таки меняются и альтертаблить не хочется.
Так же во всех выборках нужно строго строковое значение,
соответственно нормализовывать тоже не хочется.

вопрос: индекс по varchar(16) vs индекс по ENUM (или INT) насколько у
них будет большая разница в скорости работы?

ну места сама таблица будет конечно больше занимать, но места вроде не
жалко. имеет ли большой смысл нормализация?
--
... mpd is off

. ''`.                               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 по дате отправления:

Предыдущее
От: Dmitriy Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] не выполняются функции PQsetdbLogin и PQconnectdb
Следующее
От: Dmitriy Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] несколько вопросов новичка (ограничения и индексы)