【发布时间】:2012-01-22 19:34:15
【问题描述】:
要优化读取查询:最好将数据分成两张表(一对一)还是只创建一张包含更多列的表?
(案例 1)
表:Movie_info
- 评分
- 演员
- 董事
- 说明
- 海报
表格:电影
- 身份证
- 标题
- 字幕
- 网址
- movieInfo_id
(案例 2)
表格:电影
- 身份证
- 标题
- 字幕
- 网址
- 评分
- 演员
- 董事
- 说明
- 海报
数据的哪个部分是更强大的阅读查询?
【问题讨论】:
-
你最需要阅读什么?为什么你认为分裂会有所帮助?
-
如果你选择选项1,演员与导演或海报有关?如果选择选项 2,每部电影只能有一张海报?
-
@oded 抱歉,我认为这应该更加规范,但这是我的意见
-
您是说“电影”与“演员”或“海报”之间存在 1::1 的关系。注意复数:“s”。有多个演员、多个不同的海报和(可能!)多个不同的导演(“西区故事:罗伯特·怀斯和杰罗姆·罗宾斯”)。与一部电影有关的“Movie_info”不应位于单独的表中(案例 1 不正确)。但是与多个不同电影(例如“演员”)相关的数据应该有不同的表。恕我直言...
-
@user1028100 您应该了解数据库规范化/优化。对于您的问题,1 表与 2 表的结果几乎相同,但如果您想要可维护性,祝您好运。为所有内容提供 1 个表不是您问题的解决方案。
标签: mysql database performance rdbms