0

我正在制作一个允许用户添加帖子并可以发表评论的网站。在这种情况下,我将使用数据库表为他们收集帖子和评论。我有两张桌子,一张用于发帖,另一张用于评论。像下面...

 --------------------------------------
 Table for posts
 --------------------------------------
 post_id | user_id | contents | media | time


 --------------------------------------
 Table for comments
 --------------------------------------
 comment_id | user_id |post_id |contents | media |time

这种结构是否适合填满我的工作?我几乎不怀疑当 batabase 表填满数以千计的行时,mySQL 数据库的速度是否足以提供服务。所以...那么是否需要很长时间才能找到某些 post_id 的评论?

请在这件事上帮助我。谢谢。

4

2 回答 2

1

是的。你的结构似乎没问题。MySQL 比你想象的更快、更强大。
但是,你必须学会​​管理。将索引添加到需要的数据库中。
索引允许数据库应用程序快速查找数据;没有阅读整张桌子。 http://www.w3schools.com/sql/sql_create_index.asp

将外键约束从comments 表添加到posts 表。 http://www.w3schools.com/sql/sql_foreignkey.asp

于 2013-11-16T05:39:43.003 回答
0

您的结构应该没问题,并且取决于服务器 MySQL 应该没有问题服务器数百万行。

但是,您应该记住在您计划选择的字段上添加索引。如果你知道你将通过 post_id 获取评论,你应该在这个字段上添加一个索引。

如果您打算使用 innoDB,您还应该记住将外键约束从 comments 表添加到 posts 表(这实际上会自动为您提供索引)。 http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

如果您想基于多个字段(如 post_id 和 user_id)进行选择,您还应该在这些字段上添加组合索引。

于 2013-10-22T06:18:00.500 回答