SQL Server:全文检索中的数据填充问题

ContractedBlock.gif ExpandedBlockStart.gif 代码
-- 创建测试的数据库
CREATE   DATABASE  db
GO

USE  db

-- 创建测试的表
CREATE   TABLE  tb(id  int   IDENTITY ,col  ntext , CONSTRAINT  PK_tb  PRIMARY   KEY (id))
INSERT  tb  SELECT  N ' 若无其事咬牙切齿 '
UNION   ALL   SELECT  N ' 车水马龙abcd因小而失大 '
GO

-- 初始化全文索引
EXEC  sp_fulltext_database  ' enable '
GO

-- 创建一个名为 test 的全文目录
EXEC  sp_fulltext_catalog  ' test ' ' create '  
GO

-- 创建并填充全文索引
EXEC  sp_fulltext_table  ' tb ' , ' create ' , ' test ' , ' PK_tb '
EXEC  sp_fulltext_column  ' tb ' , ' col ' , ' add ' , 0x0804
EXEC  sp_fulltext_table  ' tb ' , ' start_change_tracking '
EXEC  sp_fulltext_table  ' tb ' , ' Start_background_updateindex '
GO

-- 立即检索数据,会发现检索不到数据
SELECT   *   FROM  tb  WHERE   CONTAINS (col,N ' "abcd" ' )
WAITFOR  DELAY  ' 00:00:01 '
-- 延时后可以检索到数据
SELECT   *   FROM  tb  WHERE   CONTAINS (col,N ' "abcd" ' )

-- 插入一条新数据
INSERT  tb  SELECT  N ' 若abcd无其事咬牙切齿 '
-- 立即,检索不到新加入的数据
SELECT   *   FROM  tb  WHERE   CONTAINS (col,N ' "abcd" ' )
WAITFOR  DELAY  ' 00:00:15 '
-- 延时后可以检索到数据
SELECT   *   FROM  tb  WHERE   CONTAINS (col,N ' "abcd" ' )
GO

-- 删除测试
USE  master
DROP   DATABASE  db

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值