创建查询过滤器?

时间:2015-05-28 10:30:35

标签: mysql

我需要使用过滤器查询我的数据库,用户将选择颜色,大小和类型。每个都用int表示,以便更快地查找。

因此在用户表单上,红色的值将为1,蓝色将为2等。

这是我的数据库结构:

衣服

id | title | color | size | type
 1   jacket   1       2       1

然后我查询这个:

SELECT * FROM clothes WHERE color IN (1,2) AND size IN (3,5) AND type IN (8,10)

我的问题是,如果表现不佳,那么我可以改变我的数据库结构并提高性能。

所以将衣服表改为

id | title
 1   jacket

有一个类别表,可存储所有可能的类别,无论它们是什么类型 - 将颜色与大小混合,例如:

id | category
 1   red
 2   blue
 3   small
 4   large
 5   funky
 6   classic

喜欢这些带有支点:

id | clothes_id | category_id
1        1             2
2        1             4
3        2             1

并使用加入查询?

哪种方法表现更好?

0 个答案:

没有答案