请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

shopCart 表做 books表的外键关联

  1. 购物车这块可不可以我直接shopCart 表做一个books表的外键关联,那样我创建shop条目的时候,我只需要传入一个books的id就可以了,这种方式可行吗,会不会有什么问题

正在回答 回答被采纳积分+3

1回答

keviny79 2023-07-22 22:51:31

外键是一把双刃剑,对于电商项目来说,购物车是核心业务,对于部分商品来说,并发量比较大,添加外键会较大的影响性能,不合适加外键。

0 回复 有任何疑惑可以回复我~
  • 我感觉sequelize建立外键这块比原生sql要复杂些,请问这是为什么?
    原生sql创建外键只需要在定义表的时候指定一下就行。而sequelize中要同时使用 hasMany + belongsTo两步才行。
    回复 有任何疑惑可以回复我~ 2023-07-22 22:56:29
  • (1)这里要注意的是,sequelize 有两种方式,(1)sequelize 的 原生 sql  (2) sequelize中要同时使用 hasMany + belongsTo,这两种方式 sequelize 都提供了,不要和不用 sequelize 原生的  sql 混了,我们现在比较的是 sequelize 内部的两种方式的比较。。
    (2) 首先 sequelize  hasMany +belongsTo 是建立在表的外键基础之上 (2) 对于外键操作,sequelize 和 用 sequelize  的原生 sql 各有利弊 ,用 sequelize 的 原生sql 的好处是直接明了, 问题是当两个表的字段非常多时,写起来也比较麻烦。   (3) hasMany +belongsTo 过程稍复杂些。 但这种操作是可以把一些具体的字段提取出来,变成一个通用方法,这样给所有的模块的相同查询操作去用。
    回复 有任何疑惑可以回复我~ 2023-07-23 20:32:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信