有个问题困扰我好久了,自己不知道该怎么办,上来请教大家。我用mysql存储许多文章,utf8格式,文章主体内容用text数据类型存储,但是utf8的text只能存储23000个汉字左右,虽然一般的文章也够用了,但总有些文章是大于这个字节的,难道要分开存储?那样程序会比较麻烦。或者用mediumtext等更大的数据类型?这样去搜索全文的时候会不会慢很多呢?因为我的这些文章都是需要全文检索的。(或者干脆存储在硬盘上?可是那样搜索起来更麻烦。)请问大家我这种情况该怎么办才好呢?多谢!

解决方案 »

  1.   

    用TEXT,MEDIUMTEXT及LONGTEXT型,这是存储大段文本的
      

  2.   

    我知道啊,可是我的文章很多,而且我还对每篇文章都要检索,把text换成MEDIUMTEXT的话会不会大幅减低检索速度呢?调用速度会不会也减低呢?如果是,那就有点得不偿失了!
      

  3.   

    我搜索就是针对某一类文章,一般不会很多,最多也就几千篇吧,但总的文章可能有几百万篇的。就是说我先将某些文章的ID揪出来,然后再根据这些ID去数据库中搜索其文章的具体内容。没有什么特定的关键字,因为用户有可能使用任何关键字进行搜索,而且不仅仅是搜索标题,而是要搜索全文的文章内容。我搜索的情况基本就是这样,我对效率问题也不是很懂,请教大家我这种情况应该怎么解决才好呢?
      

  4.   

    如果数据量非常大而且访问量又大,那么需要使用缓存、全文索引,对于这种文档型的数据建议使用NoSQL中的文档型数据库来存,效率要高很多使用id作为KEY
      

  5.   

    我前期的数据量也不会很多,顶多也就十几二十万篇文章吧,而且具体搜索的时候并不针对所有文章,只是针对特别揪出来的几百篇文章,顶多几千篇文章。
    技术不太好,对于其他数据库更是不懂了,我还是希望能够用mysql应付一下,请问大家我这种情况该怎么办?
      

  6.   

    mysql 的全文搜索索引 不支持宽字符
    如果你需要 全文搜索索引 则必须做些变通处理