如何自动更新SQL的全文索引?

解决方案 »

  1.   

    如果是Sql Server 2000的话,它有一个Change Tracking特性,可以用它在修改数据表中的行时自动更新全文索引.如果是My Sql的话,没用过,关注.
      

  2.   

    LIKE查询很慢,全文索引就是事先做好相关的索引,表示哪个主题词可以在哪些记录里找到,甚至事先计算好RANK,检索时可以把相关度高的先列出来,这可以大大提高检索的速度。打个比方,你有很多的小抽屉,每个抽屉里面放一些杂物,假如你要找东西,最原始的方法就是一个个抽屉翻,这就是没有索引的情况。假如聪明一点,给抽屉编号(唯一键),把哪个号码的抽屉有什么东西记录在纸上,找东西先看看这张纸,这就是普通索引,假如你要知道哪个抽屉有什么,你可以在纸上迅速找到抽屉号码(大家知道这是使用查找树),然后得到相关的信息,这种情况普通索引是很快的;但是要找到一个特定的东西哪些抽屉有,你就要把整张纸遍历一次,这就是LIKE查询,假如你要找哪些抽屉同时有2种甚至更多种物品,LIKE就更加繁琐了。假如一个表有上千万的纪录,大家可以想象查询的代价。可以换一个思路,另外找张纸,记录一样东西存在于哪些抽屉:夹子:1,3,4,5,6,9,12...钱币:2,3,4,7,12...药丸:1,3,5,6...这样找到某样东西或者某几样东西都很容易。
      

  3.   

    use start_incremental, make sure  your table has a timestamp column, then dosp_fulltext_catalog 'YourCatalogNameHere', 'start_incremental'see
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_fa-fz_1m07.aspor use 'Start_change_tracking':EXEC sp_fulltext_table YourTableName, 'Start_change_tracking'
    see
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_fa-fz_9mcl.asp