多值字段和新关系表的优缺点是什么?
让我们说一张表,上面有主人的名字和主人的狗的类型。
Owner Table
id name dogs
1 Jack 3,4,7
Dog Table
id name
1 Poodle
2 Labrador
3 ....
为了找出jack有什么,我可能会在狗字段中用服务器端的语言',‘拆分,然后从狗的表中检索每个id。
如果我使用一个新的关系表:
Owner Dog Table
owner_id dog_id
1 3
1 4
1 7
我读的书应该避免使用多值字段,但当我测试其性能时,多值字段的速度更快。除了外键约束的好处和mysql本身的易操作性(没有服务器端脚本来解码),我为什么还要使用关系表?即使是在大数据上,性能差异也不重要吗?
发布于 2014-10-20 17:49:38
多值字段是创建关系芯片的一种很好的懒惰方式。但更推荐使用3个表,因为您想要对它们进行查询。对3个表进行查询要比对多值字段查询容易得多。
这一切都在this站点上得到了完美的描述。
https://stackoverflow.com/questions/26462342
复制相似问题