多值字段与新关系表有哪些优缺点?
让我们说一张包含所有者姓名的表和所有者拥有的狗的类型
Owner Table
id name dogs
1 Jack 3,4,7
Dog Table
id name
1 Poodle
2 Labrador
3 ....
为了找出杰克有什么,我可能会分开,','在dog字段中使用服务器端语言并从狗表中检索每个id。
如果我使用新的关系表怎么办:
Owner Dog Table
owner_id dog_id
1 3
1 4
1 7
我读过的书应避免使用多值字段,但在测试性能时,多值字段更快。除了外键约束的好处和使用mysql本身操作的简易性(没有服务器端脚本来解码),我为什么还要使用关系表?即使在大数据上,性能差异也不重要吗?
答案 0 :(得分:0)
多值字段是创建关系芯片的一种很懒惰的方式。但由于您要为它们进行查询,因此建议使用3个表。对3个表进行查询比对多值字段进行查询要容易得多。
这一切都在this网站上完美描述。