选择将所有mysql数据存储在1个表中还是将数据拆分为2个或更多个表

时间:2014-10-13 03:43:38

标签: mysql sql database database-design

我正在创建一个新闻mysql数据库

info我需要存储包含

  • newstitle
  • newscontent
  • newsauthor

列出新闻时我不会查询大型新闻内容字段,但它在同一个表中

大规模数百万篇文章最好是将新闻内容存储在同一个桌面上,只要我在列出时只查询没有内容的新闻标题或创建单独的列表以及另一个显示完整内容的内容?

感谢

1 个答案:

答案 0 :(得分:1)

虽然两种方式都可以正常工作,但每种方法都有优点/缺点:

  • 一个大表:如你所说,你'可能'阅读的数据超过了需要的数据(以后的解决方案)
  • 两个表:要添加更多字段,需要内容时需要“加入”,因此“更复杂,查询速度更慢”

我的建议:

  • 如果是一个表,则在要查询的每个字段上创建索引,因此在查询时,将使用索引文件(其大小小于数据文件)
  • 如果是一个表,则根据某些条件(如日期)对表进行分区。通过这种方式,您可以避免将来处理大型表格
  • 就个人而言,我会使用两个表解决方案,并且我会对具有“newscontent”的表进行分区。 [虽然它比开发POV更复杂,但在数据库服务器上更容易,这更为重要]