主外键的作用?
设计背景:
1、10年的系统,多是内部管理系统,数据量不会太大,所以学院派居多,只要有外键关系的,都设计了外键约束,看上去规范,但是实际编程起来并不理想。
2、现在的系统,无论互联网还是内部的,数据量都越来越大。所以外键的设计要审慎。外键的作用:1、数据完整性约束2、外键索引,提高主从查询的速度。外键的弊端:1、分表、数据迁移难度大2、数据插入先后顺序、异步处理需要考虑周全。我的建议:1、外键有其必要,所以全库都不用外键是不可取的。而且这样如果主从表查询,你还是一样得增加额外索引,否则查询速度会很慢。2、采用DDD领域驱动设计的边界概念,领域模型内的子表,一般添加外键,对于跨领域模型的,不设计外键。比如订单子项表和商品表,购物子项表和商品表就不必设计外键。但是订单主表和订单子项表就应该设计外键。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有