Go to my github

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

代码
--创建测试的数据库
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

 

posted @ 2010-03-04 14:20  峡谷少爷  阅读(365)  评论(0编辑  收藏  举报