阿里开发手册:【强制】不得使用外键与级联,一切外键概念必须在应用层解决。
1.外键优点:
保证数据的完整性和一致性
级联操作方便
将数据完整性判断托付给了数据库完成,减少了程序的代码量
2.外键缺点:
业务数据生成顺序,未必一定可以先生成外键的值,再生成明细数据
有外键约束,修数据比较麻烦
外键影响数据库性能,当任务多资源少时,产生锁死,产生并发高,每次修改数据都需要去另外一个表检查数据,需要获取额外的锁
多库情况下,外键不生效
3.弊远远大于利,一般不使用