执行 SELECT 而不是删除时,postgres 删除约束是否会影响性能?

执行 SELECT 而不是删除时,postgres 删除约束是否会影响性能?

例如,如果我设置了 ON DELETE CASCADE,它会以某种方式影响删除命令之外的性能吗?还是只会影响删除时的性能?

更重要的是 - 如果我设置为在删除时不执行任何操作(例如没有删除约束),那么从该表中选择时,postgres 是否会进行任何特殊验证,从而影响性能,或者我是否只冒着获取损坏数据的风险?

谢谢!

答案1

肯定不会影响SELECT

它可以影响父表(被引用表)上的UPDATE和,以及引用方上的和。DELETEINSERTUPDATE

DO NOTHING并不意味着“忽略此约束”。这是强制的。请参阅手册。拼写是 SQL 标准的怪异之处。

相关内容