SQL SERVER 之全文索引使用
全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。全文索引是一种特殊类型的基于标记的功能性索引,它是由 SQL Server 全文引擎生成和维护的。生成全文索引的过程不同于生成其他类型的索引。全文引擎并非基于特定行中存储的值来构造 B 树结构,而是基于要编制索引的文本中的各个标记来生成倒排、堆积且压缩的索引结构。在 SQL Server 2008 中,全文索引大小仅受运行 SQL Server 实例的计算机的可用内存资源限制
全文索引优点:
1.正确的索引会大大提高数据查询、解决海量数据模糊查询的好方法。
2.一个表只能建立一个全文索引(但可以对多个字段)。
全文索引缺点:
1、存储空间,每个索引都要空间存储
2、如果非聚集索引很多,一旦聚集索引改变,那么所有非聚集索引都会跟着变。
3、过多索引会导致优化器优化过程需要评估的组合增多。
4、每个索引都有统计信息,索引越多统计信息越多。
5、更新开销,一旦一个数据改变,并且改变的列比较多,可能会引起好几个索引跟着改变。
使用SSMS数据库管理工具创建全文索引
1、连接数据库,选择数据库,选择数据表-》右键数据表-》选择全文检索-》选择定义全文检索(E)。
全文检索向导,点击下一步
点击下一步
选择表列,点击下一步
使用
select * from opc_invoice where contains( XM, ' "李*" or "张*" ');