我现在要对一论文系统的数据库进行全文检索,不涉及到分词,由于数据库只能用ACCESS(以前学校收集的时候就一直就这个来收集的),数据库现在有800多M了,记录近6万,并且还会增长,我原先想用Select * From Table 
Where (Memo Like '%字符串%')来搜索,但事实上行不通,在数据库只有几十M时,可以顺利找出来,但是在到一定程序大小的数据库时,会异常结束。高分求解决方法,分不够的可以再加

解决方案 »

  1.   

    《程序员》上以前有一篇关于MS SQL Server的全文检索的文章,可以参考一下
      

  2.   

    800多M的access ???????
       哦买嘎的,还不如想把法改成sql 这才上上策啊~!
      

  3.   

    ‘数据库现在有800多M了,记录近6万,并且还会增长’,这种情况下转到SQL是最好的了,当然程序中也要改。如果急用,不如不用SQL语句,用循环逐条记录检查的方法(6万并不多,应该费时不多)。
      

  4.   

    数据库有没有整理一下?access写时文件会变大,即使记录数不变6万并不多
      

  5.   

    没找到答案,继续,现在就是用
    select * From Table Where Field Like 'String'会产生内存溢出,我也想转到SQL Server ,可这不是我决定的,有没有好的方法?
      

  6.   

    换成SQLServer问题就容易解决了。ACESS没有办法。可以的话微软就不用卖SQLServer。
      

  7.   

    本人利用小数据表(DBF)实现过类似全文检索功能.
    数据量比你这还要大,但是查找速度还是非常快的,用户非常满意.只是要实现这样的系统非常费事.
    这个方法的主导思想就是根据主键将数据表切割!!!
    如果我想得不错的话,SQL 的全文检索也应该使用了同样的技术实现的.
    要实现非常高效的检索,看来只有这种办法了!
      

  8.   

    呵呵 我只知道SQLServer的全文检索通过索引来实现的,第一次听说主键将数据表切割。
    只不过不同于一般的索引(通过create index创建的)是用存储过程来实现的。
    你所说的:主键将数据表切割。应该是一般的族索引。
      

  9.   

    新建一个数据库实例,导入ACESS数据,按ACESS建立主键和外键,不需要设置级联更新,删除(ACESS不支持,程序不需要改)。修改程序,数据连接,SQL函数(1. Now改成Getdate()2 .DateDiff要修改)。
    应该1天就能改好,然后再利用SQLServer的全文检索。
      

  10.   

    还是转SQL SERVER吧,这个是迟早的事,不然以后更加大也不好解决
      

  11.   

    数据表切割?第一次听过。
    还是建议你把数据转到SQL Server中吧。这样就容易实现了。
      

  12.   

    800多M的access,强,崩溃只是时间问题了。
      

  13.   

    用Sql2000,你可以把access中的数据转移到sql2000里,程序相应改动
      

  14.   

    看来我的数据切割还真是创新之举呀,这么多猩猩都说第一次听说!谢谢谢谢!
    我将这个思想成功应用于客户服务系统,用来查找多年的客史资料,效果确实令人满意.比用SQL查询(非全文检索时)快很多.
      

  15.   

    个人觉得,800多M我也没什么啊将备注字段单独做一个表后,记录也就7万条,检索起来相当快至于转SQL,呵呵,真的是不能转,这个不是我能决定的
    楼上的数据切分怎么实现》