创建外键约束不适合高并发场景吗?
来源:4-16 gorm处理多对多的关系
ktsleep
2021-03-08 20:34:57
老师不是说创建外键约束不适合高并发的吗.那many2many是自动生成的约束的,还需要再手动删除约束吗
1回答
是的,高并发场景之下,不适合使用外键强制约束,但是任何问题都“具体问题具体分析”,比如具体的系统中,不可能每张表都可能要高并发访问,一般也就是某些表并发量比较高,所以需要看这张表是不是在高并发场景之下要经常访问,如果经常访问那么不建议使用强制约束,但是你要写各种代码来保证数据的一致性,如果这张表不是高并发访问的,那么还是建议使用外键约束,因为通过数据库来确保数据一致性,这样会让你的业务代码省去很多不必要的麻烦
many2many自动生成约束,手动删除约束确实是一种解决办法,其实还有另一种解决办法可能是更常用的,就是手动去建表,不要使用orm的migrate去自动生成表,你可以在model中定义manytomany但是不要使用migrate去建表而是自己手动建表就行了
相似问题