mysql 表设计,索引的问题

2022-09-05 16:09:54 +08:00
 2bad4u

已知一个商品最多有两层分类,且分类不到百种,比如分类:“手机” 子分类 “智能手机,老年手机,卫星手机”,这种是直接写

category: 手机 sub_cate: 智能手机

呢,还是搞个分类表

category_id: 123 sub_cate_id: 456

呢。

特别讨厌分类表这种各种 join 满天飞,组里的人,int 比 varchar 建索引效率高很多吗?

本来想用 mongodb ,没想到 goframe 支持 mongodb 的 orm 。

1955 次点击
所在节点    MySQL
10 条回复
sadfQED2
2022-09-05 16:15:07 +08:00
两种都行,哪种合适得看你们业务决定呀
Donjote
2022-09-05 16:39:40 +08:00
加个分类表吧,也能做下拉框用。怕 join 且分类名不改动的话,分类 id 和 name 一起保存到主表也可以
xuanbg
2022-09-05 16:42:50 +08:00
不想 join 很简单啊,分类表当字典表用就是了。
kelvin_fly
2022-09-05 16:49:40 +08:00
不想建分类表,就在主表里加两个 column 。 其实还是建分类表合适,join 这些包装为一层 API 就行
defage
2022-09-05 16:53:04 +08:00
电商类肯定是分类表的,如果是宽表分析类就是 sub_cate 了
zakokun
2022-09-05 17:03:16 +08:00
建一个分类表,所有分类信息都放缓存,然后商品信息里面记录绑定的分类 id ,获取商品详情以后根据 id 组装一下。
2bad4u
2022-09-05 17:43:55 +08:00
算球,就 join 吧,几行数据性能也不影响,就是写着累人。
eric6699
2022-09-05 18:54:08 +08:00
分类表吧,万一改名字
ma836323493
2022-09-06 10:02:24 +08:00
关系型数据库,你不用 join 干嘛
akira
2022-09-18 02:43:51 +08:00
你觉得 join 麻烦的话,就加个 category name ,sub cate name 咯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX