全文索引--学习篇


/*----------------------------学习篇--全文索引---------------------------*/

use Northwind
go

/****** Object:  Table [dbo].[Employees]    Script Date: 04/29/2015 17:42:43 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Employees](
	[EmployeeID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
	[LastName] [nvarchar](20) NOT NULL,
	[FirstName] [nvarchar](10) NOT NULL,
	[Title] [nvarchar](30) NULL,
	[TitleOfCourtesy] [nvarchar](25) NULL,
	[BirthDate] [datetime] NULL,
	[HireDate] [datetime] NULL,
	[Address] [nvarchar](60) NULL,
	[City] [nvarchar](15) NULL,
	[Region] [nvarchar](15) NULL,
	[PostalCode] [nvarchar](10) NULL,
	[Country] [nvarchar](15) NULL,
	[HomePhone] [nvarchar](24) NULL,
	[Extension] [nvarchar](4) NULL,
	[Photo] [image] NULL,
	[Notes] [ntext] NULL,
	[ReportsTo] [int] NULL,
	[PhotoPath] [nvarchar](255) NULL,
 CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED 
(
	[EmployeeID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

ALTER TABLE [dbo].[Employees]  WITH NOCHECK ADD  CONSTRAINT [FK_Employees_Employees] FOREIGN KEY([ReportsTo])
REFERENCES [dbo].[Employees] ([EmployeeID])
GO

ALTER TABLE [dbo].[Employees] CHECK CONSTRAINT [FK_Employees_Employees]
GO

ALTER TABLE [dbo].[Employees]  WITH NOCHECK ADD  CONSTRAINT [CK_Birthdate] CHECK  (([BirthDate] < getdate()))
GO

ALTER TABLE [dbo].[Employees] CHECK CONSTRAINT [CK_Birthdate]
GO


--开启Northwind的全文检索功能
exec sp_fulltext_database 'enable'

--为northwind创建一个全文索引'cat_desc'
exec sp_fulltext_catalog 'cat_desc','create'

--在employees表上,在PK_employees索引是提供的引用全文索引的唯一列
exec sp_fulltext_table
 'Employees',      --表名
 'create',        --动作
 'cat_desc',     --全文索引名
 'PK_Employees'  --sqlserver的索引名,一般为主键索引

--在employee表上创建的全文索引添加到列'Notes'

exec sp_fulltext_column 
'employees',   --表名
'Notes',    --列名
'add'     --动作为添加,即将Notes列加入到全文索引中

--执行下列语句后发现没有返回记录,原因:记录匹配的行我们还没有组装全文索引
select EmployeeID,LastName,FirstName from Employees
where contains(*,'University')

--使用完全组装:

exec sp_fulltext_table 'Employees','start_full'


--完全组装全文索引后再次执行上述语句,发现有6条记录

select EmployeeID,LastName,FirstName from Employees
where contains(*,'University')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值