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

时间:2016-05-06 21:12:57

标签: php mysql database wordpress

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

选项1:

seasons_table

  • POST_ID
  • season_number
  • SEASON_TITLE
  • 语言
  • 字幕
  • item_date(创建时)
  • item_modified(上次修改时)

episodes_table

  • POST_ID
  • season_id
  • EPISODE_NUMBER
  • EPISODE_TITLE
  • item_date
  • item_modified

选项2:

唯一表格

  • POST_ID
  • item_type(季节或剧集)
  • season_number
  • SEASON_TITLE
  • 语言
  • 字幕
  • season_id
  • EPISODE_NUMBER
  • EPISODE_TITLE
  • item_date
  • item_modified

我已经可以看到,使用选项1 ,两个表之间会有很多常见字段,而选项2 会有很多永远不会被使用的字段(例如,一集不会在字段season_title中具有值,因为它只需要将season_id的值与该季节相关联。)

那么哪一个是最佳选择?我愿意选择选项2,但是我担心那些空字段会在处理该表中的任何数据时浪费内存或加载时间等等。真的吗?在此先感谢大家,我希望自己明确表示。

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

1 个答案:

答案 0 :(得分:0)

这里有两个表是最好的方法,它更贴近database normalization的规则。如果担心重复,您需要更好地评估存储数据的位置。

item_dateitem_modified可能对每个条目都是唯一的,即使它们在架构方面“重复”。别担心。

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