一个表的列为category_NAME / ID,我们可以在其中传递id并为该类别的列表创建另一个表,或者直接添加类别名称。
哪一个更适合
案例1:
TABLE1
ID | CATEGORY_NAME
案例2
这里要获取列表,我们制作了一个JOIN
语句
TABLE1
ID | CATEGORY_ID
CATEGORY_TABLE
ID | CATEGORY NAME
答案 0 :(得分:1)
有什么区别 案例1: TABLE1 强>
ID | CATEGORY_NAME
案例2
这里获取列表我们已经制作了一个JOIN语句
<强> TABLE1 强>
ID | CATEGORY_ID
<强> CATEGORY_TABLE 强>
ID | CATEGORY NAME
我想你的第一个案例的意思是Item_id。
在这种情况下,它取决于代码的可维护性和存储。好像更改了类别名称,您必须更新大表中的记录,这将是繁重的查询。 此外,当您存储category_id而不是其名称时,它将有助于节省存储空间。因为您没有复制每个记录的类别名称,只是引用category_id。
但很明显,这取决于项目的类别和大小。
答案 1 :(得分:1)
如果 TABLE1 的尺寸相当小(假设最多不超过10k行),则索引 VARCHAR CATEGORY_NAME 应该可以正常工作,否则最好使用单独的表进行存储类别。
就个人而言,我会选择选项2.此处的性能改进不会那么显着,但将字典字段存储在另一个表中是一种不好的做法。