RSS
菜单

MySQL 外键该不该用?有什么利弊?

外键(FOREIGN KEY):数据库层保证引用完整性(子表外键必须存在于父表,删除/更新父表受限)。利:① 数据一致性由 DB 强制(应用漏校验也不会脏数据);② 级联操作(ON DELETE CASCADE)简化代码。弊:① 性能开销:每次 DML 都检查父表(加锁、影响并发);② 高并发/分库分表后外键失效(跨库无法约束);③ 运维复杂(删表/改结构顺序约束);④ 阿里规范明确禁外键(应用层保证)。结论:中小项目/数据一致性要求高可用外键;互联网高并发/分库分表场景禁用,改用应用层校验 + 定期对账。

下载推广海报

圈内讨论推广海报

《MySQL 外键该不该用?有什么利弊?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。