我正在创建一个经典的PHP博客,并对single或两个mysql表方法感到困惑。

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

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

actual表上查询的频率很高,而在archive表上的查询频率并不高。

但是有时会有joinunion查询-覆盖两个表。

从逻辑上讲,在较小的表上性能要好得多,但是-就我而言,这是否足以创建两个表而不是单个表?

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

该怎么办?

最佳答案

你写了:


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


相对而言,对于包含少于一千万行的表,您的直觉是完全不正确的。 SQL的目的是允许从许多项目中快速检索一些项目。成千上万的程序员工作(毫不夸张)使这种事情变得非常快。您将无法超越这种集体努力。

将您的物品放在一张桌子上。如果需要区分活动项目和非活动项目,请创建一列称为active或诸如此类的东西,然后使用WHERE active=1或诸如此类的查询术语对其进行检索。

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

关于php - 单个博客表还是多个博客表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49773940/

10-13 06:44