跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [求助] mysql 不同的类型商品,如何设计表,是分别建表还是有个统一表
未分類
22 4 月 2020

[求助] mysql 不同的类型商品,如何设计表,是分别建表还是有个统一表

[求助] mysql 不同的类型商品,如何设计表,是分别建表还是有个统一表

資深大佬 : kukala 21

不同的类型商品,如何设计表,是分别建表还是有个统一表

例如:旅游线路,酒店,机票

1. 描述:

  • 首页会一起对“旅游线路,酒店,机票”的产品进行推荐显示(如:淘宝 APP 首页的猜你喜欢)

  • 搜索框,搜索“北京”时,先显示的是搜索分类页面(如:北京的酒店、北京的门票、北京的旅游线路)

  • 订单表,“旅游线路,酒店,机票”的产品的订单都是放在同一个订单中心页面显示(如:淘宝 APP 的我的订单)

2. 初步设想:

  • 针对描述 1:自己初步是想针对“旅游线路,酒店,机票”的产品分别建表,然后有个统一商品表,关联起来
如:  goods->统一表,关联“旅游线路,酒店,机票”的产品表  tours->旅游线路表  hotel->酒店表  fight->机票表 
  • 针对描述 2:因为是根据产品分别建表了,搜索时就查找各自的表数据就行了
  • 针对描述 3:因为在一个订单中心,所以设想和描述 1 操作一样,有个统一的订单表,对各个产品进行关联

最后:不知道这样的设计是否可行,是否方便以后数据量大了后的分表分区???

欢迎提出更好建议,谢谢了

大佬有話說 (11)

  • 資深大佬 : hugedata

    数据量、并发访问量不大,没有任何问题。怎么搞都没有问题。
    针对以上的三个需求描述,访问量上来时,增加缓存,再大一点,可以增加定时提前计算放缓存,再大,上 es 做搜索。
    抛开数据量和并发数的话,不太好定义怎么设计更好。

  • 資深大佬 : hugedata

    我还是比较赞成分开存储,至于你要不要弄个统一商品表来关联,还是看你的取舍,统一关联了起来,你要把需要搜索的字段也关联进来。不然你的 sql 语句还是要把几个表的查询结果都 union all 。

  • 主 資深大佬 : kukala

    @hugedata 感谢回复,搜索初步先按照类别来搜索好了,类型 tabs 标签;

  • 資深大佬 : lower

    分开存储,,就算有 统一搜索等后续需求,也可以用视图或者 搜索引擎 来搞;

  • 資深大佬 : hugedata

    tabs? tags 吧。比较好奇,弄标签的话,标签是怎么存,怎么搜的? like 左右匹配还是 match against ?

  • 資深大佬 : keleifeng

    分开存储,,就算有 统一搜索等后续需求,也可以用视图或者 搜索引擎 来搞;

  • 資深大佬 : kanepan19

    个人建议,存同一个表, 用扩展表扩展业务专用信息。
    因为商品,订单,支付,统一逻辑,多个业务可以公用。

  • 主 資深大佬 : kukala

    @hugedata
    分开存储的话,搜索页初步可以这样来
    搜索“北京”
    下拉建议框分别是
    “北京”的旅游线路
    “北京”的酒店
    “北京”的机票
    点击后,再按照商品类型来搜索

    看飞猪 APP 上是这样来的

  • 主 資深大佬 : kukala

    @lower 商品表和订单表都分开存储吗?

  • 資深大佬 : 1ffree

    先想想 order 表里的 商品 id 怎么取?

  • 資深大佬 : lower

    @kukala 订单不确定,还是看具体的业务场景吧,如果还存在着把客户订单再拆分到 商家子订单等到复杂的后端业务,那最好考虑是否分开。
    统一的商品表从你描述的场景感觉用处不大,不仅要多维护表和关系,搜索时扩展表还是要关联查才行。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具