SqlServer——全文索引
当我们想要模糊查询时,之前用like %来进行查询,但是为了提高查询速度,提出了全文索引。
全文索引是用空间换取了时间,它将每个表中的数据进行切分存储,这样就能很快的定位到模糊查询的数据。
下面是摘自百度百科的介绍:
全文索引技术是目前搜索引擎的关键技术。
试想在1M大小的文件中搜索一个词,可能需要几秒,在100M的文件中可能需要几十秒,如果在更大的文件中搜索那么就需要更大的系统开销,这样的开销是不现实的。
所以在这样的矛盾下出现了全文索引技术,有时候有人叫倒排文档技术。
---------------------------------------------------------------------
创建全文索引的步骤如下:
以下面这张表为例:
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605225605617-495232113.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605225754477-1990124267.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230051586-786603685.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230105414-987376812.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230118039-1350758809.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230535274-673962490.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230555461-347763893.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230607961-348010736.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230619086-687430769.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605230853149-916301780.gif)
--------以上内容是创建索引,下面简单说说索引的使用-------
注意:使用全文索引是注意要开启SQL Full-text Filter Daemon Launcher (MSSQLSERVER)服务。
SQL Server提供的全文索引语句主要有CONTAINS和FREETEXT
(1)CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。
(2)FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符串,并返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做自由式全文查询。
(2)FREETEXT语句的功能是在一个表的所有列或指定列中搜索一个自由文本格式的字符串,并返回与该字符串匹配的数据行。所以,FREETEXT语句所执行的功能又称做自由式全文查询。
有了以上概念,下面我来演示下:
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605231949258-1603249955.gif)
![](https://images2015.cnblogs.com/blog/797087/201606/797087-20160605232132008-2061505654.gif)
百闻不如一见,百见不如一做,只有做了,才知道问题出现在哪儿,才能去解决问题。