欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql中如果对外键的操作设置成NO ACTION是否还会影响性能?

程序员文章站 2022-03-29 10:30:05
...
RT,我只是想在数据库关系图中能够更加清晰的显示数据库结构,至于外键约束我会在代码中实现,请问数据库中删除和更新操作都设置为NO ACTION是否还会影响性能?

回复内容:

RT,我只是想在数据库关系图中能够更加清晰的显示数据库结构,至于外键约束我会在代码中实现,请问数据库中删除和更新操作都设置为NO ACTION是否还会影响性能?

楼主貌似没明白几种外键约束各自的作用,性能与不使用外键当然是有影响的

CASCADE #在父表上update/delete记录时,同步update/delete掉子表的匹配记录
SET NULL #在父表上update/delete记录时,将子表上匹配记录的列设为null 要注意子表的外键列不能为not null
NO ACTION #如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作  
RESTRICT #同no action, 都是立即检查外键约束