现在我们项目要查询一张商品表,由于商品描述太长,使用like 搜索的时候特别费时,别人告诉我使用全文索引,我网上查看了一下,感觉挺简单的,而且速度特别快。
全文索引为在字符串数据中进行复杂的词搜索提供有效支持。全文索引存储关于重要词和这些词在特定列中的位置的信息。全文查询利用这些信息,可快速搜索包含具体某个词或一组词的行。
全文索引包含在全文目录中。每个数据库可以包含一个或多个全文目录。一个目录不能属于多个数据库,而每个目录可以包含一个或多个表的全文索引。一个表只能有一个全文索引,因此每个有全文索引的表只属于一个全文目录。
全文目录和索引不存储在它们所属的数据库中。目录和索引由 Microsoft 搜索服务分开管理。
全文索引必须在基表上定义,而不能在视图、系统表或临时表上定义。
依据上面的描述,可以做这样一个比喻。大家大概都见过档案柜,档案柜是将各种档案按照分类登记在档案索引卡上,这个档案柜中的就象建立的全文索引,通过这些档案索引卡可以迅速定位你要查找的卷宗所在的位置。如果不建立这些索引卡,如果卷宗数量不多还好,一旦档案数量很多的时候显然很难找到期望的卷宗,这就类似使用LIKE的情形。
全文索引和普通索引的区别:
普通SQL 索引 全文索引
存储时受定义它们所在的数据库的控制 存储在文件系统中,但通过数据库管理
每个表允许有若干个普通索引 每个表只允许有一个全文索引
当对作为其基础的数据进行插入、更新或删除时,它们会自动更新 将数据添加到全文索引称为填充,全文索引可通过调度或特定请求来请求,也可以在添加新数据时自动发生
不分组 在同一个数据库内分组为一个或多个全文目录
使用SQL Server企业管理器、向导或Transact-SQL语句创建和除去 使用SQL Server企业管理器、向导或存储过程创建、管理和除去
2、用法
1) 执行sql:sp_fulltext_database 'enable' --启用全文索引
2)执行sql:create fulltext catalog 索引目录名 --创建索引库
3) CREATE FULLTEXT INDEX ON t_commodity(索引列一,索引列二....) KEY INDEX indexname ON 索引目录名
解释下3)中的indexname :是指已存在的基于指定表的唯一索引名.而不是唯一索引列名.如果索引不存在,需要先创建唯一索引.
4) 查询:假设已有一个表music,已为字段memo创建全文索引,那么要查询含有周杰伦或者jay的所有记录的语句为:
SELECT * FROM music WHERE CONTAINS(memo,'周杰伦 or jay')
ok!完事!
分享到:
相关推荐
Sql2005全文索引详解 全文索引是SQL Server 2005中引入的一种高级搜索功能,专门用于处理长度较长的文本字段,如文章内容、文档摘要等。传统索引通常针对数字和短文本字段,对于长文本的查询效率较低。全文索引通过...
为了解决这一问题,Microsoft SQL Server 2005 引入了全文索引技术。全文索引能够显著提高在文本字段中进行关键词查询的速度,尤其是在处理长文本字段时表现尤为突出。 #### 14.1 全文索引的介绍 全文索引是一种...
SQL Server 2005中的全文索引是一种高级的搜索功能,它允许用户执行复杂的文本搜索,而不仅仅是基于精确匹配的简单查询。全文索引在数据库管理系统中扮演着至关重要的角色,尤其是在处理大量文本数据时,它能显著...
### SQL Server 2005 全文索引详解 #### 一、全文索引概述 在数据库领域,为了提高查询效率,索引是必不可少的一部分。对于短文本字段或者数值类型字段,传统的索引(例如B-tree索引)非常有效。然而,对于长文本...
从给定的文件信息中,我们可以推断出关于SQL Server 2005全文索引的一些知识点。全文索引是一种特殊类型的数据库索引,它专门用于快速查找包含特定词汇的文档或记录。SQL Server 2005作为一个数据库管理系统(DBMS)...
SQL Server 2005 的全文索引是其数据库管理系统中的一个重要特性,它允许用户对存储在text或ntext数据类型的列中的非结构化文本数据进行高效、灵活的搜索。全文索引通过创建一个预处理的索引,使得查询能够快速定位...
在SQL Server 2000中,全文索引是一项强大的功能,它允许用户进行复杂的文本搜索,大大提高了从大量文本数据中检索信息的效率。全文索引与传统的基于关键字的索引不同,它能理解词汇的语法和语义,从而提供更精确、...
### SQL Server 全文索引的使用 #### 一、全文索引概述 在SQL Server中,全文索引是一种特殊类型的索引,主要用于提高文本数据的检索效率,尤其是在执行复杂模糊查询时。全文索引支持复杂的自然语言查询,能够帮助...
SQL Server 2008 全文索引是一种高级搜索技术,特别适合于在大量文本数据中快速查找特定的关键词或短语。全文索引与传统的基于B-tree结构的索引不同,它采用了一种特殊的功能性索引,由SQL Server全文引擎服务创建和...
SQL Server作为一款成熟的数据库管理系统,提供了全文索引功能,它使得用户能够对存储在数据库中的大量文本数据执行快速、准确的查询。全文索引是一项特别重要的技术,尤其在网络环境中,用户往往需要快速定位到相关...
SQL Server全文索引查询是一种在SQL Server数据库中用于高效检索大量文本数据的技术。与传统的基于B树结构的索引不同,全文索引专注于处理“包含”式查询,即查询字符串中是否包含特定的关键词,而不仅仅是以特定...
SQL全文索引是一种在数据库中实现全文搜索的技术,它允许用户使用自然语言查询数据库,而不仅仅是精确匹配。Sphinx是一个高性能、开源的全文搜索引擎,它为SQL数据库提供了强大的全文索引功能。Sphinx与SQL结合使用...
SQL Server 2005(简称SQL2005)是微软发布的一款数据库管理系统,它对全文索引技术有着良好的支持。在SQL2005中,全文搜索可以为数据库中的文本数据基于关键字查询创建快速、灵活的机制。全文索引不仅能够实现语言...
全文索引是SQL Server数据库系统中一种高效检索长文本字段的技术,它极大地提升了在大量文本数据中搜索关键字的速度。全文索引不同于传统的B-tree结构索引,后者主要针对数值和较短的文本字段。全文索引利用了特定的...
SQL Server 全文索引服务是数据库管理系统中用于高效处理文本搜索的重要功能,尤其是在大型数据集上进行复杂查询时。全文索引通过建立基于每个文本字段的词项索引来优化模糊搜索和精确搜索的性能。在SQL Server 7.0...
sql学习 全文索引性能优势之妙用索引.sql
SQL Server 全文索引技术概述 SQL Server 的全文索引是一种特殊类型的基于标记的功能性索引,可以快速、灵活地为存储在 SQL Server 数据库中的文本数据创建基于关键字查询的索引。与普通的索引不同,全文索引不是以...
全文索引是SQL Server 2005中一个非常实用且强大的功能,它不仅极大地提高了查询效率,而且为开发人员提供了更加灵活的数据查询方式。通过合理利用全文索引,可以有效提升应用程序的性能和用户体验。