Например, если я установил ON DELETE CASCADE, может ли это как-то повлиять на производительность вне команды удаления? Или это только при удалении повлияет на производительность?
И что еще более важно - если я не буду ничего делать при удалении (например, без ограничения удаления), будет ли postgres выполнять какие-либо специальные проверки при выборе из этой таблицы, которые могут повлиять на производительность, или я только рискую получить поврежденные данные?
Спасибо!
Это точно не повлияет SELECT
.
Это может повлиять UPDATE
и DELETE
в родительской (указанной) таблице и INSERT
и UPDATE
на ссылочной стороне.
DO NOTHING
не означает «игнорировать это ограничение». Это принудительно. См. Руководство. Написание - странное по стандарту SQL.