15.6.4 全文检索中的数据填充问题.sql

来自「sqlserver 数据库编程的绝好脚本」· SQL 代码 · 共 46 行

SQL
46
字号
--创建测试的数据库
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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?