代碼
--建立測試的資料庫
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