powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите...
7 сообщений из 7, страница 1 из 1
Подскажите...
    #32540140
Taevas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните пожалуйста, кто знает, как все-таки индексы обеспечивают целостность системы?
Спасибо...
...
Рейтинг: 0 / 0
Подскажите...
    #32540600
Wireless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индексы не обеспечивают "целостность системы" :))
но они могут обеспечивать referental integrity, то биш
ссылочную целостность - на каждый foreign key полагается
создавать unique индекс.
...
Рейтинг: 0 / 0
Подскажите...
    #32540755
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Wireless
то биш ссылочную целостность - на каждый foreign key полагается
создавать unique индекс.


Уникальный индекс на FK? Хм... забавно, может Вы имели в виду РК? А то интересно как обеспечить уникальность в отношении один ко многим? :)
...
Рейтинг: 0 / 0
Подскажите...
    #32541385
Wireless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно. При создании FK обязательно
создание уник.индекса по полю PK master-таблицы.
И рекомендуется (если мы говорим про один-ко-многим)
создание индекса (не уник, конечно) по
ключевому полю/полям в slave-таблице.
Сорри за конфуз.
...
Рейтинг: 0 / 0
Подскажите...
    #32541426
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Wireless

А по умолчанию индекс разве не создается?
Я в PD когда указал генерить индексы по FK у меня моментально скрылись флажки на констрейнты и наоборот, поэтому подумал, что Postgres собственно каким то образом именно через индексы по умолчанию и поддерживает ссылочную целостность.
Этому факту удивился, на всякий случай проверил и попробовал вручную создать индексы на FK но на производительности это не сказалось.
...
Рейтинг: 0 / 0
Подскажите...
    #32542378
Wireless
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, автоматически ПГ не создает:
Код: plaintext
1.
2.
isbs=# alter table abba2 add foreign key (t) references abba(t) on delete cascade;
ERROR:  there is no unique constraint matching given keys for referenced table "abba"

выигрыш в производительности будет, конечно, зависеть от характера конкретно тех запросов, которые применяются в приложении. выигрыш наверняка будет, если будешь часто join по этим таблицам по этим полям делать.
...
Рейтинг: 0 / 0
Подскажите...
    #32542462
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Wireless
Ну будьте же пожалуйста внимательнее, сообщение об ошибке говорит только о том что Вы не определили в родителе ни PK ни уникального индекса и соответственно не можете создать в дочерней таблице FK по полю t.
Меня же интересует надо ли в таблице abba2 создавать еще и индекс по полю t если по этому полю уже определен FK.
Почему меня это интересует?
Потому что, например в MS SQL поле которое объявляется как FK на родительскую таблицу является закономерным кандидатом на создание индекса для улучшения производительности при джоинах.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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