代码之家  ›  专栏  ›  技术社区  ›  nebkat

MySQL博客文章评论优化表

  •  0
  • nebkat  · 技术社区  · 14 年前

    我正在制作一个mysql表,其中将包含我的博客文章和它们的一些信息。我希望能够添加评论的博客文章,并保存在MySQL中。我的问题是,我是否应该制作一个名为“评论”的表格,并且所有评论都有博客帖子ID,所以我只会选择以下相应的评论:

    select from comments where id = blogpostid
    

    或者我的另一个想法是将所有评论放在一个数组中,并将它们保存在“我的博客文章”表的“长文本”字段中,这样每一行(博客文章)都将包含其评论。

    我会接受任何其他想法,但对我来说,速度是第一位的。

    4 回复  |  直到 9 年前
        1
  •  2
  •   Pekka    14 年前

    拥有一个标准化的、单独的注释表是正确的。

    有了适当的索引,它就可以正常工作了。我怀疑是否会有这样一种流量可以证明对速度结构进行非规范化是合理的。

        2
  •  1
  •   user353283    14 年前

    请阅读有关数据库规范化的信息,例如(h ttp://www.devshed.com/c/a/MySQL/An-Introduction-to-Database-Normalization/ )

    确实,非规范化(添加冗余数据或对其进行分组)可以提高数据库的性能,但也会增加数据库的大小。
    当数据库充当博客后端时,数据完整性应该是您的主要关注点。

    除非需要更复杂的内容,否则应将博客评论表与作为主键的博客文章唯一ID分开。 (像多态联想等)

        3
  •  1
  •   Abhishek Jain    12 年前

    我们可以通过拥有两种类型的表来拥有完全规范化的表结构。

    1型表
    它存储所有日志ID--(所有日志的索引)

    2型表
    type1表中的行数=type2表的行数 每个type2表都以post id命名 类型2表由其各自的post id的注释组成。

    桌子的维护肯定会有问题

        4
  •  0
  •   Abhishek Jain    12 年前

    它们是另一种我们可以通过XML技术用户解决这个问题的方法

    通过将每个post comment线程保存在索引的XML文件中

    当XML促进树结构时,它有利于部分注释和“重新注释”。

    附加福利 更好地管理和减少ou-db查询的数量

    此解决方案的问题 搜索索引未优化