例如,如果我设置ON DELETE CASCADE,是否会影响性能以外的删除命令? 或者只会在删除时影响性能?
更重要的是,如果我在删除时不做任何事情(例如没有删除约束),postgres会在从表中select可能影响性能的时候做任何特殊的validation,或者我只冒着损坏的数据的风险?
谢谢!
它绝对不会影响SELECT 。
它可以影响父(引用)表上的UPDATE和DELETE ,以及引用端上的INSERT和UPDATE 。
DO NOTHING都不做并不意味着“忽略这个约束”。 它被强制执行。 看手册。 拼写是SQL标准的古怪。