总是一起查询多个表与一个包含多个“类型”的表

时间:2016-09-24 08:07:55

标签: database-design

我有4种类型的帖子。他们总是将被一起查询。它们包含的数据略有不同。像这样:

LinkPost(title, url)
ImagePost(title, image_file)
EventPost(title, location, start_time, end_time)
TextPost(title, body)

我的解决方案是:

  1. 有4个表,并且总是一起查询它们,但这会产生性能问题,因为我主要想要按日期或分数(存储在列中)排序。

  2. 有5张桌子。解决方案1中的4,加上一个只有post_id,post_type,created_at,得分的Post表。这将允许我查询一个表,并在其他表中查找数据。

  3. 只需将所有内容都放在一个表Post(type, title, url, image_file, location, start_time, end_time, body)中即可。这将允许我轻松索引和查询。

  4. 假设我只有一些帖子“类型”,并且每个只有少量列(意味着任何给定行只有大约5-10列“未使用”)。除了不是3NF之外,还有什么理由不把所有东西放在一张桌子里?这种模式有名称吗?

0 个答案:

没有答案
相关问题