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

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

产品复合分类数据表设计。

一个数据表,现有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

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

相关文章:

你感兴趣的文章:

标签云: