我一直在考虑用php创建一个论坛,所以我做了一些研究,看看人们在数据库中创建的表的标准是什么。在我查找过的大多数网站上,他们总是选择一个表作为线程,另一个表作为线程上的帖子。
在我看来,拥有一个线程表是完全合理的,但是一个表来保存所有线程上的所有帖子似乎有点太多了。最好为每个线程创建一个表来保存该线程的帖子,而不是在一个表中粘贴几十万个帖子?

最佳答案

这些表应该表示数据库中数据的结构。如果你有两个对象,在本例中是你的线程和帖子,你应该把它们放在两个表中。
相信我,如果你按照自己的想法去做的话,想找出每一篇文章的正确表格将是一场噩梦。SQL会是什么样子?有点像

SELECT *
FROM PostTable17256

而且您必须在每个请求上动态构造此查询。
但是,通过使用1个表,您可以简单地获取一个threadid并将其作为变量传递给查询。
SELECT *
FROM Posts
WHERE ThreadID = $ThreadID

关系数据库被设计成拥有大量行的表。顺便说一句,你可能会对dba认为的“很多”感到惊讶。在大多数地方,具有1000000行的表被认为是中小型的。

08-07 19:41
查看更多