数据库设计中,文章的内容如何存储?
数据量较大,一年里约有150万条记录,每篇文章的内容少则几K多则几百K。
如将其存入mysql与标题、作者等同一张表,则会占用了很大的空间,会导致后期的操作困难。
(在这:http://topic.csdn.net/u/20110522/12/aa22ab55-b6e1-4d14-884c-1552ef268463.html?94302)
将其转为文本存在本地,则面临着全文检索上的困难。文件少倒无所谓,文件多时每次检索都要用PHP去读取这百多万个文件恐怕效率会更差…。
不知各位对这种情况是如何解决的?请指点,谢谢!
[解决办法]
没想到贴主跟我遇到同样的问题O(∩_∩)O哈哈~
解决的话可以像2楼说的那样,直接存进数据库里。
如果你认为这样文章内容一多,会使数据库变得庞大导致效率降低,你接受不了的话,可以考虑另外一种方法,就是依旧像你现在这样把文章内容存到文本里,但是在数据库表里加多一个字段:文章概述summary,长度大约在100左右,用来存放这篇文章的简介或者关键词,搜索的时候就不去搜文章内容了,而是直接搜“summary”这个字段。这样在搜索的时候不仅能发挥数据库的性能,而且其实用户在搜索的时候你去搜索全文内容也是不合理的。比如用户搜索“数据库”这个关键词,你的某篇文章中某个地方也出现了这个词,但实际上你这篇文章根本不是介绍数据库相关的,只是无意中提到了。这样的搜索结果想必也不是用户需要的。
[解决办法]
关于存储 可以考虑用nosql nosql的优势就就是处理超大量的数据。
在可以用nosql 和 mysql的配合,mysql负责逻辑层 存储层交给nosql是不错的解决办法