1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update basis.md

This commit is contained in:
guide 2022-03-28 10:02:33 +08:00
parent a4f84bf7a1
commit 45660b1f11

View File

@ -45,7 +45,6 @@ tag:
> 1. **增加了复杂性:** a. 每次做DELETE 或者UPDATE都必须考虑外键约束会导致开发的时候很痛苦, 测试数据极为不方便; b. 外键的主从关系是定的,假如那天需求有变化,数据库中的这个字段根本不需要和其他表有关联的话就会增加很多麻烦。
> 2. **增加了额外工作** 数据库需要增加维护外键的工作,比如当我们做一些涉及外键字段的增,删,更新操作之后,需要触发相关操作去检查,保证数据的的一致性和正确性,这样会不得不消耗资源;(个人觉得这个不是不用外键的原因,因为即使你不使用外键,你在应用层面也还是要保证的。所以,我觉得这个影响可以忽略不计。)
> 3. 外键还会因为需要请求对其他表内部加锁而容易出现死锁情况;
> 4. **对分库分表不友好** :因为分库分表下外键是无法生效的。
> 5. ......