什么';这是在MySQL数据库中保存数据最有效的方法


What's the most efficient way to save data in MySQL Database

嗨,我有需要存储在数据库中的数据。我的网站是关于电视节目的,我谈论的数据基本上是。我关心的是我应该使用两张桌子还是一张。我会让自己更清楚:

选项1:

季节表

  • post_id
  • 季节编号
  • 季节标题
  • 语言
  • 字幕
  • item_date(创建时)
  • item_modified(上次修改的时间)

情节表

  • post_id
  • 季节id
  • 插曲编号
  • 字幕
  • 项目日期
  • item_modified

选项2:

唯一表

  • post_id
  • item_type(季或集)
  • 季节编号
  • 季节标题
  • 语言
  • 字幕
  • 季节id
  • 插曲编号
  • 字幕
  • 项目日期
  • item_modified

我已经亲眼看到,使用选项1,两个表之间会有很多公共字段,而使用>选项2会有很多字段永远不会被使用(例如,一集的字段season_title中永远不会有值,因为它只需要一个season_id的值就可以链接到该季)。

那么,哪一个是最好的选择呢?我愿意选择选项2,但我担心那些空字段在处理该表中的任何数据时会浪费内存或加载时间或其他什么。这是真的吗?提前感谢大家,我希望我把自己说清楚。

顺便说一句,我的网站是基于wordpress的,我会使用一个自定义表,但我想我会使用一些wordpress函数来处理数据,比如$wpdb->insert等等…

两个表是最好的方法,它更符合数据库规范化的规则。如果担心重复,您需要更好地评估数据的存储位置。

item_dateitem_modified对于每个条目可能是唯一的,即使它们在模式方面是"重复的"。别担心。

无论post_id是什么,您都必须评估post和这两个表之间是否有直接关系,或者从post到季节再到剧集。