Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле
От | Dmitriy Igrishin |
---|---|
Тема | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле |
Дата | |
Msg-id | AANLkTikzmOin4MEZrW0wrj0+2-Nfhf4XLMZFQX51331h@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле (Nikolay Samokhvalov <samokhvalov@gmail.com>) |
Ответы |
Re: [pgsql-ru-general] Re: [pgsql-ru-general] Частично уникальное поле
|
Список | pgsql-ru-general |
Приветствую,
--
// Dmitriy.
13 марта 2011 г. 2:54 пользователь Nikolay Samokhvalov <samokhvalov@gmail.com> написал:
2011/3/13 Dmitriy Igrishin <dmitigr@gmail.com>13 марта 2011 г. 2:00 пользователь Nikolay Samokhvalov <samokhvalov@gmail.com> написал:UNIQUE INDEX это уже и есть ограничение целостности (constraint).А вот это не так. Ограничение уникальности (UNIQUE CONSTRAINT)
является не индексом, а его зависимостью. Т.е. невозможно удалить
уникальный индекс, порожденный неявно при создании ограничения
уникальности.
Видимо, именно такой объект и хочет создать автор. Однако следует
иметь в виду, что индекс, автоматически создаваемый при создании
ограничения уникальности будет не частичным.Приветствую ценителя теории ))Уникальный индекс -- это уже и есть ограничение целостности. Можно ещё раз повторю? И ещё, на ночь, чтобы запомнилось.Где тут "не так"? ))
Повторяйте сколько угодно раз, хоть сто. За одно повторите
чтение (можно на ночь) http://www.postgresql.org/docs/9.0/static/ddl-constraints.html
пункта 5.3.3 о том, что такое UNIQUE CONSTRAINT, не упустив из виду
"Adding a unique constraint will automatically create a unique btree index on the column
or group of columns used in the constraint.". Надеюсь, что после этого Вы не станете
утверждать, что ограничение уникальности является уникальным (btree) индексом.
Я всегда ратовал и буду ратовать за корректность.
чтение (можно на ночь) http://www.postgresql.org/docs/9.0/static/ddl-constraints.html
пункта 5.3.3 о том, что такое UNIQUE CONSTRAINT, не упустив из виду
"Adding a unique constraint will automatically create a unique btree index on the column
or group of columns used in the constraint.". Надеюсь, что после этого Вы не станете
утверждать, что ограничение уникальности является уникальным (btree) индексом.
Я всегда ратовал и буду ратовать за корректность.
Для новичков нужно запоминать именно так, чтобы как раз и не возникало вопросов "а как создать constraint".
Ой, да ладно про "спец курсы для новичков". :-)
Про размер индекса -- верно, частичный индекс экономит место, если NULL-ов ожидается много. Но при этом надо понимать, что будут последствия для оптимайзера (всё же это индекс и он может пригодиться не только как ограничение целостности).
Какие такие последствия?
По поводу что-то не так делаю и спать пора -- желательно привести пример, показывающий суть вопроса (что за одинаковые 'col'). Может, там не в collation дело, а в какой-нибудь кириллической буковке, смахивающей на латинницу )
--
// Dmitriy.
В списке pgsql-ru-general по дате отправления: