您当前位置:设计在线网 >> Sql Server >> 浏览文章

sql 2005 全文索引测试

分享到:
本文章讲述了sql 2005 全文索引测试.

--全文

索引测试 (sql 2005)

sp_fulltext_database 'enable'--启用

sp_fulltext_catalog 'my_fulltext_catalog', 'Create' --创建目录

create table tbl_Company

(id int not null,

Company varchar(50) not null,

Memo ntext null,

)

alter table tbl_Company add constraint pk_tbl_Company primary key(id)

alter table tbl_Company add constraint unique_Cmp unique(Company)

delete from tbl_Company

insert into tbl_Company(id,Company,Memo)

values(1,'大大小小公司','afsdfads家家累了dasfa1237888811314')

insert into tbl_Company(id,Company,Memo)

values(2,'uhjkh向往飞翔公司','asdfasdf体面')

CREATE FULLTEXT INDEX ON tbl_Company

(Company,Memo)

KEY INDEX pk_tbl_Company ON my_fulltext_catalog

--测试查询语句

SELECT * FROM tbl_Company WHERE CONTAINS((Memo,Company),'头部分')

drop table tbl_Company

全文索引对文章系统中,正文关键词检索作用非常之大,我使用的是sql server2005,文章表的正文字段是varchar(max)类型。进行全文索引优化之后,速度提高75%左右。以下是创建的方法。

引言

微软的SQL Server数据库是一个在中低端企业应用中占有广泛市场的关系型数据库系统,它以简单、方便、易用等特性深得众多软件开发人员和数据库管理人员的钟爱。但SQL Server 7.0以前的数据库系统由于没有全文检索功能,致使无法提供像文本内容查找此类的服务,成为一个小小的遗憾。从SQL Server 7.0起,到如今的SQL Server 2000终于具备了全文检索功能,使用户可以高效地检索存储在数据库char、varchar、text、ntext、nchar、nvarchar等数据类型列中的文本数据。

建立全文索引

在进行全文检索之前,必须先建立和填充数据库全文索引。为了支持全文索引操作,SQL Server 7.0新增了一些存储过程和Transact-SQL语句。使用这些存储过程创建全文索引的具体步骤如下(括号内为调用的存储过程名称):

1. 启动数据库的全文处理功能(sp_fulltext_

database);;

2. 建立全文检索目录(sp_fulltext_catalog);

3.在全文检索目录中注册需要全文索引的表(sp_fulltext_table);

4. 指出表中需要全文检索的列名(sp_fulltext_

column);;

5. 为表创建全文索引(sp_fulltext_table);;

6. 填充全文检索目录(sp_fulltext_catalog)。

下面举例说明如何创建全文索引,在本例中,对Test数据库Book表中Title列和Notes列建立全文索引。

use test //打开数据库

//打开全文索引支持,启动SQL Server的全文搜索服务

execute sp_fulltext_database ‘enable’

//建立全文检索目录ft_test

execute sp_fulltext_catalog ‘ft_test’, ‘create’

为Title列建立全文索引数据元,pk_title为Book表中由主键所建立的唯一索引,这个参数是必需的。

execute sp_fulltext_table ‘book’,‘create’, ‘ft_test’,‘pk_title’

//设置全文索引列名

execute sp_fulltext_column ‘book’, ‘title’, ‘add’

execute sp_fulltext_column ‘book’,‘notes’, ‘add’

//建立全文索引

execute sp_fulltext_table ‘book’, ‘activate’

//填充全文索引目录

execute sp_fulltext_catalog ‘ft_test’, ‘start_full’

至此,全文索引建立完毕。

进行全文检索

SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。

CONTAINS语句的语法格式为:

CONTAINS({column | *}),)

其中,column是搜索列,使用“*”时说明对表中所有全文索引列进行搜索。Contains_search_

condition 说明CONTAINS语句的搜索内容,其语法格式为:

{|

|

||}[{{AND|AND NOT|OR}}] [...n]

推荐阅读:
基于sql Server 2000 分区视图的运用讲解
有关MySQL命令行的几个用法介绍
不同版本mysql数据库两种方法导入导出
推荐文章  
赞助商链接  
热门排行  
主题推广  
中国设计在线网 All Rights Reserved. 互联网违法和不良信息举报
信息产业部备案号:湘ICP备09001063号