Подтвердить что ты не робот

Сервер Sql: В чем преимущество использования параметра "Принудительное ограничение внешнего ключа" при установке "НЕТ"?

Я знаю цель "Принудительное ограничение внешнего ключа" в РСУБД. Но есть ли какая-либо польза, когда он установлен на "НЕТ"?

4b9b3361

Ответ 1

При нормальной работе эта настройка должна быть никогда установлена ​​на NO.

Но: когда вы разрабатываете или реструктурируете базу данных, или когда вы делаете это, например. большой объемной загрузки данных, которые вам нужно "продезинфицировать" (очистить), тогда имеет смысл отключить ограничения внешнего ключа, чтобы можно было загружать "недействительные" данные в таблицу. Конечно, как я уже сказал, вы не должны держать эту настройку выключенной в течение длительного периода времени - вы должны продолжить очистку данных, либо удалить те строки, которые нарушают ограничение FK, либо обновить их значения поэтому они соответствуют родительской строке.

Итак, опять же: в "нормальном" режиме производства этот параметр никогда не должен быть NO, но для конкретных задач это могло бы облегчить задачу. Используйте его с осторожностью и всегда возвращайте ограничения FK, как только сможете!

Ответ 2

Не в повседневном использовании, насколько я знаю. Времена, когда я временно отключил внешние ключи, когда возникают проблемы с данными, и их исправление проверяется проверками отношений.

Во время массовых операций ограничения ограничений временно игнорируются для повышения производительности.