• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

产品复合分类数据表设计。解决思路

mysql 搞代码 7年前 (2018-06-02) 132次浏览 已收录 0个评论

产品复合分类数据表设计。
一个数据表,现有200,000数据,今后会陆续增加到300,000 – 400,000条。

现在要记录每一个产品的分类(总计有600-700种,但单一产品最多不超过8个分类),类似这样的数据表如何设计?
这个数据库的主要功能是:随时根据不同分类,将该类的所有产品从数据库里检索出来,附加功能是根据产品名检索。

本人知识有限,初步设想如下,分类用数字代替,另有一个副表做参照。比如101代表运动鞋,202代表女鞋,305代表红色的鞋子,401代表nike,501代表美国… 把分类写进一个数据列里(porduct_list [varchar(32)])

id | porduct_list
1 | 101 201 305
2 | 101 202
3 | 102 202 334 401

这样设计是否合理?
如果可以。现在要检索出所有的运动鞋。像这类20-40W级的数据表,用like速度快还是fulltext速度快?
select * from porduct_table where porduct_list like ‘%101%’ (innodb表 + index + 产品名检索用 RLIKE)
或者
select * from porduct_table where match (porduct_list) against (‘+101’ IN BOOLEAN MODE) (myisam表+产品名检索和分类搜索均用 fulltext index)

谢谢。

——解决方案——————–
建议比较正规的设计如下。

id porduct_list
1 101
1 201
1 305
2 101
2 202
3 102
3 202
3 334
3 401


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:产品复合分类数据表设计。解决思路

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址