powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
7 сообщений из 7, страница 1 из 1
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577366
Tonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п. 9:
Не надо увлекаться ссылочной целостностью больше чем это требуется
Не рекомендуется делать FK от больших таблиц на короткие справочники, в которых никогда не выполняются update и delete. Рекомендуется замещать такие FK контролем на триггерах и явным запретом модификации справочника в его триггерах.
Кроме того, излишнее увлечение каскадным удалением, в совокупности с удалением через триггеры, может сильно запутать логику или привести к непредсказуемым удалениям или ошибкам нарушения целостности.

Вопрос: что значит: "короткий справочник",
на сколько процентов можно получить прирост скорости SELECT, если убрать ссылочную целостность из таблицы на 100 тыс записей?

спасибо за внимание.
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577379
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у тебя таблица на 100 тыс, а справочник на единицы, то FK на такой справочник будет только тормозить. Не говоря уж о том, что restore такой таблицы будет достаточно продолжительным по времени.
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577399
Tonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мимопроходящий
спасибо, у меня действительно справочник на 6 записей.
Ссылку убрал.
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577422
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И индекс на такое поле в такой таблице тож не стОит делать.
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577451
Tonny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийИ индекс на такое поле в такой таблице тож не стОит делать.
индексы лишние влияют на скорость SELECT в отрицательную сторону?
если нет, а могут хоть чучуть ускорить его - то наверно лучше оставить?
жду Ваше мнение.
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577460
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 100тысячной таблице индекс по полю с 6 уникальными значениями будет работать как тормоз. Т.к. селективность такого индекса будет черезвычайно низкой.
По идее, оптимизатор даже не должен такой индекс подхватывать. Но на практике, обычно, бывают случаи, когда берёт и хватает, сгоряча. ;)
...
Рейтинг: 0 / 0
Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
    #32577469
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonny>Мимопроходящий
спасибо, у меня действительно справочник на 6 записей.
Ссылку убрал.

в то же время если это 300 записей, то, имхо, справочник можно и
оставить
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подскажите по пункту 9 http://ibase.ru/devinfo/dontdoit.htm
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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