|
Подскажите...
|
|||
---|---|---|---|
#18+
Объясните пожалуйста, кто знает, как все-таки индексы обеспечивают целостность системы? Спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2004, 20:32 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
Индексы не обеспечивают "целостность системы" :)) но они могут обеспечивать referental integrity, то биш ссылочную целостность - на каждый foreign key полагается создавать unique индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2004, 10:58 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
2 Wireless то биш ссылочную целостность - на каждый foreign key полагается создавать unique индекс. Уникальный индекс на FK? Хм... забавно, может Вы имели в виду РК? А то интересно как обеспечить уникальность в отношении один ко многим? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2004, 12:02 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
Да, конечно. При создании FK обязательно создание уник.индекса по полю PK master-таблицы. И рекомендуется (если мы говорим про один-ко-многим) создание индекса (не уник, конечно) по ключевому полю/полям в slave-таблице. Сорри за конфуз. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2004, 16:41 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
2 Wireless А по умолчанию индекс разве не создается? Я в PD когда указал генерить индексы по FK у меня моментально скрылись флажки на констрейнты и наоборот, поэтому подумал, что Postgres собственно каким то образом именно через индексы по умолчанию и поддерживает ссылочную целостность. Этому факту удивился, на всякий случай проверил и попробовал вручную создать индексы на FK но на производительности это не сказалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2004, 16:51 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
нет, автоматически ПГ не создает: Код: plaintext 1. 2.
выигрыш в производительности будет, конечно, зависеть от характера конкретно тех запросов, которые применяются в приложении. выигрыш наверняка будет, если будешь часто join по этим таблицам по этим полям делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2004, 11:37 |
|
Подскажите...
|
|||
---|---|---|---|
#18+
2 Wireless Ну будьте же пожалуйста внимательнее, сообщение об ошибке говорит только о том что Вы не определили в родителе ни PK ни уникального индекса и соответственно не можете создать в дочерней таблице FK по полю t. Меня же интересует надо ли в таблице abba2 создавать еще и индекс по полю t если по этому полю уже определен FK. Почему меня это интересует? Потому что, например в MS SQL поле которое объявляется как FK на родительскую таблицу является закономерным кандидатом на создание индекса для улучшения производительности при джоинах. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2004, 12:04 |
|
|
start [/forum/topic.php?fid=53&fpage=357&tid=2007842]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 157ms |
0 / 0 |