sql – 哪种数据库设计提供更好的性能?
我想选择检索人员,并进一步进行一些插入,删除和更新.
如果我想找回居住在巴西的人最好的方法是什么? 在表人中制作2个外国城市和国家: Person(id,name,profession,**id_country**,**id_city**) cities (id,city,**id_country**) countries (id,country) 或者只是桌面城市中的一个外键和表城市中的另一个外键县 Person(id,**id_country**) countries (id,country) 或者像第一个选项一样制作视图? 对于插入,删除和更新数据,它们仍然是最好的表吗?性能没有差异?另外我很困惑,什么会影响架构中的性能? 解决方法这个问题非常类似于你所做的那个问题:Create many tables or just one 答案也是类似的 – 这取决于你想要达到的目标.两种解决方案都可以起作用,两者都有利有弊,应根据具体情况进行一些权衡分析.出于这种情况,不可能回答你的问题. 我在两个版本中看到的唯一区别是Person表中的外键id_country: 人(id,**** id_country ****,id_city) 问题是“我们需要吗?” 那么,两种解决方案的优缺点: 1.解决方案:使用id_contry: >专业人士:根据土地(更简单的查询)更轻松地回溯人员,并更好地执行此查询 2.解决方案:没有id_country: >专业:更简单,更清洁的模型,无冗余,更易于维护 因此,第一个解决方案有效地为您提供了更简单的查询结构和更好的性能,可以按国家/地区检索人员(您想要的),但它有其成本(参见优缺点).另一方面,务实的思考认为,国家 – 城市数据非常稳定,而且经常不会改变,这一事实有利于第一种解决方案. 如果这种非规范化和轻微的不一致的可能性,你可以采取第一种解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |