这个问题的主题是维护用户对我网站的评论。数据库表之间的数据库设计和连接操作
我在我的网站(不同类别)上有大约25000篇文章,每篇文章的下方都有一个评论部分。由于评论数量增加了超过70,000篇,我决定根据文章类别articles_of_type_category
将文章分成不同的表格相应的意见表article_category_comments
为每个表,假设它会提高未来的业绩(尽管目前其工作的罚款)
现在我有两个问题:
1)如果我把数据库还是会有不如果桌子尺寸进一步增大,表现会降低? 2)如果是的话,那么在新的数据库设计中,我有一些SQL连接操作的问题。在每篇文章的评论页面上,我会显示评论,发表评论的人的名字和他的观点。
因此,假设用户正在观看物品3,因此我需要获得以下详细通过连接这三个表
user_details
+----+--------+----------+
| id | name | college |
+----+--------+----------+
| 1 | naveen | a |
| 2 | rahul | b |
| 3 | dave | c |
| 4 | tom | d |
+----+--------+----------+
物品3
-------------------------------------------------------------------------------------------
serial#| comment | name_who_made_this_comment | points | gold | silver | bronze
-------------------------------------------------------------------------------------------
| | | | | |
| | | | | |
的网页上,以显示
score
(此表存储用户点,如计算器)
+----+--------+------+--------+--------+---------+
| id | points | gold | silver | bronze | user_id |
+----+--------+------+--------+--------+---------+
| 1 | 2354 | 2 | 9 | 25 | 3 |
| 2 | 4562 | 1 | 9 | 11 | 2 |
| 3 | 1123 | 7 | 9 | 11 | 1 |
| 4 | 3457 | 0 | 9 | 4 | 4 |
+----+--------+------+--------+--------+---------+
comments
(该表存储评论,在它被做了文章的ID和用户ID)
+----+----------------------------+-------------+---------+
| id | comment | article_id | user_id |
+----+----------------------------+-------------+---------+
| 1 | This is a nice article | 3 | 1 |
| 2 | This is a tough article | 3 | 4 |
| 3 | This is a good article | 2 | 7 |
| 4 | This is a good article | 1 | 3 |
| 5 | Please update this article | 4 | 4 |
+----+----------------------------+-------------+---------+
我想是这样
select * from comments join (select * from user_details join points where user_details.id=points.user_id)as joined_temp where comments.id=joined_temp.u_id and article_id=3;
这样,“根据文章的类别articles_of_type_category将文章分成不同的表格”听起来很糟糕。我建议您的文章表中的类别表和类别标准的规范化设计。 –
@DanBracuk:如果您通过命名表和相应的列名来给出概述,这将非常有用 –
您可以使用该子查询来完成此任务,但您也可以直接使用user_details和points来加入注释。我怀疑引擎生病创建了一个非常不同的查询计划,但不痛尝试。 – jean