tsv*_*der 12 database database-design
设计数据库来存储博客帖子和评论的最佳方法是什么?我目前正在考虑一个表格用于帖子,另一个用于评论,每个表格都有一个帖子ID.
然而,在我看来,通过一个大的评论表来搜索相关帖子的内容会很昂贵,并且每次加载博客文章时都会这样做(可能需要一些缓存).
有没有更好的办法?
Rya*_*ner 14
您用于实现博客的每个数据库系统都将使用索引.这意味着,您的数据库系统不是"在大型桌子中拖网",而是维护一个单独的评论列表以及与之关联的帖子,就像书后面的索引一样.这允许数据库系统非常快速地加载与帖子相关的评论,并且我认为您提出的任何规模的博客设计都没有任何问题.
索引通常用于将表与数百万行关联到具有数百万行的其他表 - 您必须拥有一个特别大的博客才能要求对注释进行非规范化,甚至,缓存可能比为数据库非规范化提供更好的服务.
您需要在注释表中定义索引,并将其与包含帖子ID的任何列相关联.如何完成取决于您使用的数据库系统.
尝试这样的事情:
Blog
BlogID int auto number PK
BlogName string
...
BlogPost
BlogPostID int auto number PK
BlogID int FK to Blog.BlogID, index
BlogContent string
....
Comment
CommentID int auto number PK
BlogPostID int FK to BlogPost.BlogPostID, index
ReplyToCommentID int FK to Comment.CommentID <<for comments on comments
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17682 次 |
| 最近记录: |