我正在创建一个经典的PHP博客,并对single
或两个mysql表方法感到困惑。
在第一种情况下,实际的博客将放置在actual
表中(最多100行),而归档的帖子放置在archive
表中(最大20.000行)。
这两个表具有相同的结构。
在actual
表上查询的频率很高,而在archive
表上的查询频率并不高。
但是有时会有join
和union
查询-覆盖两个表。
从逻辑上讲,在较小的表上性能要好得多,但是-就我而言,这是否足以创建两个表而不是单个表?
还有第三个解决方案-具有两个分区actual - 100 rows
和archive - 20.000 rows
的单个表。
该怎么办?
最佳答案
你写了:
从逻辑上讲,在较小的桌子上性能要好得多
相对而言,对于包含少于一千万行的表,您的直觉是完全不正确的。 SQL的目的是允许从许多项目中快速检索一些项目。成千上万的程序员工作(毫不夸张)使这种事情变得非常快。您将无法超越这种集体努力。
将您的物品放在一张桌子上。如果需要区分活动项目和非活动项目,请创建一列称为active
或诸如此类的东西,然后使用WHERE active=1
或诸如此类的查询术语对其进行检索。
如果您认为遇到性能问题,可以将索引添加到表中。读这个。 https://use-the-index-luke.com/
关于php - 单个博客表还是多个博客表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49773940/