`

一个MSSQL全文索引的例子

 
阅读更多

原文地址:http://blog.9day.net/dz_music/music.asp?url=http%3A//blog.9day.net/article.asp%3Fid%3D321

一个完整的SQL SERVER数据库全文索引的示例。(以pubs数据库为例)

首先,介绍利用系统存储过程创建全文索引的具体步骤:

1) 启动数据库的全文处理功能(sp_fulltext_database)
2) 建立全文目录(sp_fulltext_catalog)
3) 在全文目录中注册需要全文索引的表(sp_fulltext_table)
4) 指出表中需要全文索引的列名(sp_fulltext_column)
5) 为表创建全文索引(sp_fulltext_table)
6) 填充全文目录(sp_fulltext_catalog)


---------********示例********-------------
以对pubs数据库的title和notes列建立全文索引,之后使用索引查询title列或notes列中包含有datebase 或computer字符串的图书名称:

在这之前,需要安装Microsoft Search服务,启动SQL server全文搜索服务


user pubs --打开数据库
go
--检查数据库pubs是否支持全文索引,如果不支持
--则使用sp_fulltext_database 打开该功能
if(select databaseproperty('pubs','isfulltextenabled'))=0
execute sp_fulltext_database 'enable'

--建立全文目录FT_PUBS
execute sp_fulltext_catalog 'FT_pubs','create'

--为title表建立全文索引数据元
execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'

--设置全文索引列名
execute sp_fulltext_column 'title','title','add'
execute sp_fulltext_column 'title','notes','add'

--建立全文索引
--activate,是激活表的全文检索能力,也就是在全文目录中注册该表
execute sp_fulltext_table 'title','activate'

--填充全文索引目录
execute sp_fulltext_catalog 'FT_pubs','start_full'
go

--检查全文目录填充情况
While fulltextcatalogproperty('FT_pubs','populateStatus')<>0
begin

--如果全文目录正处于填充状态,则等待30秒后再检测一次
waitfor delay '0:0:30'
end

--全文目录填充完成后,即可使用全文目录检索

select title
form
where CONTAINS(title,'database')
or CONTAINS(title,'computer')
or CONTAINS(notes,'database')
or CONTAINS(notes,'database')



'--------------以下介绍一下全文操作类的系统存储过程
过程名称:sp_fulltext_service
执行权限:serveradmin或系统管理员
作用:设置全文搜索属性


过程名称:sp_fulltext_catalog
执行权限:db_owner及更高角色成员
作用:创建和删除一个全文目录,启动或停止一个全文目录的索引操作


过程名称:sp_fulltext_database
执行权限:db_owner角色成员
作用:初始化全文索引或删除数据库中所有全文目录


过程名称:sp_fulltext_table
执行权限:db_ddladnmin或db_owner角色成员
作用:将一个表标识为全文索引表或非全文索引表


过程名称:sp_fulltext_column
执行权限:db_ddladnmin角色成员
作用:指出一个全文索引表中的那些列假如或退出全文索引

分享到:
评论

相关推荐

    MySQL全文索引应用简明教程.pdf

    MySQL全文索引是一种高效检索文本数据的技术,尤其适用于大数据量的文本字段搜索。在MySQL中,全文索引主要应用于MyISAM和InnoDB两种表引擎,尽管MyISAM是传统选择,但自MySQL 5.6以后,InnoDB也开始支持全文索引。 ...

    MySQL全文索引、联合索引、like查询、json查询速度哪个快

    首先,全文索引(Full-text Index)是MySQL提供的一种特殊类型的索引,专门用于提高全文搜索的性能。全文索引适用于处理大量文本数据,它能够快速地找出包含特定单词或短语的记录。但是,全文索引并不适用于简单的...

    mysql索引和锁机制ppt介绍

    - 缺点:如果表中没有合适的聚簇索引,InnoDB会选择一个合适的列自动创建一个隐藏的聚簇索引。 **非聚簇索引(Non-Clustered Index):** - 非聚簇索引的索引顺序与数据的物理排列顺序无关。 - 叶子节点包含了指向...

    基于mysql全文索引的深入理解

    MySQL全文索引是一种高效搜索大量文本数据的机制,尤其适用于需要进行复杂文本匹配的场景,例如搜索引擎、内容管理系统等。全文索引不同于传统的基于B树的单列索引,它能够对一段文字进行分词,并查找包含这些词汇的...

    Solr3.6用DIH组件进行MySQL数据库全文索引[参照].pdf

    在Solr中,DataImportHandler(DIH)组件是一个强大的工具,用于从各种外部数据源,如关系型数据库(如MySQL)中导入数据并建立全文索引。在本例中,我们将探讨如何使用Solr 3.6版本的DIH组件来对MySQL数据库中的...

    MySQL如何选择合适的索引

    MySQL中最常见的索引类型包括B-Tree索引、哈希索引、全文索引和空间索引。B-Tree索引适用于大多数情况,包括主键和非主键索引,而哈希索引则适用于等值查询,全文索引用于文本搜索,空间索引处理几何数据。 考虑...

    MySql索引知识点整理(一)

    MySQL支持多种类型的索引,包括B-Tree索引、哈希索引、全文索引和空间索引等。 B-Tree索引是最常见的一种,适用于范围查询和排序。它按照键值的顺序存储,使得查找、插入和删除操作的时间复杂度保持在对数级别。...

    MySQL 创建索引(Create Index)的方法和语法结构及例子

    例如,创建一个全文索引名为 `IDX_testNoPK_Description` 的索引,索引列是 `description`: CREATE FULLTEXT INDEX IDX_testNoPK_Description ON testNoPK (description); ### 空间索引 空间索引是指对空间类型...

    MYSQL学习笔记-索引

    4. **全文索引**:从MySQL 3.23.23版本开始支持全文索引和全文检索功能,适用于文本搜索等场景。 5. **删除索引**:使用`DROP INDEX index_name ON tableName;`命令可以删除已存在的索引。 #### 单列索引与组合...

    MySQL索引:提升数据检索速度的加速器

    在这个例子中,我们首先创建了一个包含员工信息的表`Employees`,并为其`lastName`列创建了一个普通索引。此外,还为`email`列创建了一个唯一索引,以确保每个员工的电子邮件地址都是唯一的。最后,我们展示了如何...

    Laravel开发-mysql-fulltext-laravel

    在Laravel框架中进行开发时,数据库操作是一个关键部分,特别是当处理大量数据并需要高效查询时。MySQL的全文索引功能为此提供了很好的解决方案。本文将深入探讨如何在Laravel项目中利用MySQL的全文索引功能,以实现...

    Mysql 教程 - MySql 工具.pdf

    MySQL 是一种基于 C/S 模式的数据库管理系统,需要有一个客户机来与 MySQL 数据库管理系统关联。在日常工作中,可以通过各种客户端软件来与 MySQL 数据库管理系统关联。 MySQL 官方提供了许多命令工具,可以用来管理...

    详解mysql中的冗余和重复索引

    不同类型的索引(如哈希索引和全文索引)在同一列上创建也不会构成B-Tree索引的冗余。冗余索引常见于添加新索引时,尤其是当新索引只是现有索引的扩展,如从`(A)`扩展到`(A,B)`,或在InnoDB中添加包含主键的索引 `(A...

    MySQL 5.1中文手冊

    在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...

    mysql官方中文参考手册

    在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...

    MySQL的索引详解

    - 全文索引:适用于全文搜索,但在MySQL默认引擎中支持有限,通常需要结合Sphinx或Coreseek这样的全文搜索引擎实现。 - 外键索引:用于关联不同表之间的数据,确保数据一致性,仅InnoDB引擎支持。外键可以避免非法...

    MySQL 5.1官方简体中文参考手册

    在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...

Global site tag (gtag.js) - Google Analytics