在性能和可伸缩性方面,哪个是在MySQL中进行一对多映射的更好方法。
使用单独的列但坚持使用2个表:
(person):id,name
(电话):id,number,type,person_id
使用单独的表:
(person):id,name
(电话):身份证号码,号码,类型
(person_phone):id,person_id,phone_id
答案 0 :(得分:13)
这只有一个正确答案,而且是第一个答案。
您的第二个想法是如何模拟多对多关系,而不是一对多关系。
答案 1 :(得分:5)
就性能而言,避免连接总是更便宜,这会增加要查询的行数的多重性。
只要一个员工(一个真正的一对多)使用一部手机,第一个选项就是最佳选择。
答案 2 :(得分:5)
第一个更好。
P.S。也许你甚至不需要id
电话,(number, type, person_id)
就够了。