单对多个博客表

时间:2018-04-11 11:29:06

标签: php mysql

我创建了一个经典的php博客,并且遇到了single或两个mysql表方法的困境。

在第一种情况下,实际博客将被放置在actual表(最多100行)内,以及archive表内的归档帖子(最多20.000行)。

两个表都具有相同的结构。

经常在actual表格上查询archive并不常见。

但有时会有joinunion个查询 - 涵盖两个表格。

从逻辑上讲,在较小的桌子上表现要好得多,但是 - 在我的情况下是否有足够的理由创建两个表而不是单个表?

还有第三个解决方案 - 包含两个分区actual - 100 rowsarchive - 20.000 rows的单个表。

怎么办?

2 个答案:

答案 0 :(得分:1)

您写道:

  

从逻辑上讲,在较小的桌子上表现要好得多

对于包含少于约一千万行的表,您对此的直觉完全不正确。 SQL的一个目的是允许从众多项目中快速检索一些项目。数千年的程序员劳动(而不是夸大其词)已经开始使这种事情变得非常快。你无法超越这种集体努力。

将您的物品放在一张桌子上。如果您需要区分活动和非活动项目,请创建一个名为active的列或某些此类内容,并使用WHERE active=1或某些此类查询字词检索它们。

如果您认为自己遇到了性能问题,可以在表中添加索引。读这个。 https://use-the-index-luke.com/

答案 1 :(得分:0)

在设计数据库时,不要只考虑如何存储数据;但想想所有可能的情况:

  • 您将如何检索和更新信息?
  • 是否会有不同的观点和不同的权限 人呢?

在您的情况下,archive似乎是actual表的子集。因此,首选一个表,其中一行用于跟踪存档文件。