关于外键的问题?

来源:21-7 多表查询和反向查询

南森_

2021-08-06

我们在创建数据库是应不应该使用外键关联?
因为如果用外键关联查询的时候,或者做什么操作的时候,会把涉及到的表都查询一次,性能不好,所以之前我设计数据库的时候就没用外键。
如果有关联的表,我都是在代码层面去做,比如删除一个数据,相关联的数据我在代码层面一个一个删掉?

哪种更好一些?

写回答

1回答

bobby

2021-08-07

数据库本身设计上讲究三范式,也就是数据库设计原则是要设计外键。但是当今动不动就高并发的场景下外键就成了阻碍查询的一个因素了,所以很多时候我们不设置外键了,并不是说外键不好,外键的好处也是数据库会帮你做很多检查,你说的会把关联表查询出来这种说法不准确,很多orm只有当你用到外键的时候才会去查询的,所以也不用担心一个model动不动就查询多张表。但是你如果就是要考虑大数据和高并发的问题不用数据库的外键而是自己在业务层面上需要的时候才去做是没有问题的

0
1
南森_
非常感谢!
2021-08-08
共1条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

510 学习 · 530 问题

查看课程