Heim > Datenbank > MySQL-Tutorial > Hauptteil

海量数据模糊查询

WBOY
Freigeben: 2016-06-07 17:43:24
Original
1908 Leute haben es durchsucht

全文索引--海量数据模糊查询 2 .如果使用传统的模糊搜索会降低数据库的性能,选择全文索引来解决是比较好的方法! 3 .创建全文索引演示 (1) 打开全文索引支持,启动 SQLServer 的全文搜索服务 use 数据库名字 go execute sp_fulltext_database 'enable' (

全文索引--海量数据模糊查询

2.如果使用传统的模糊搜索会降低数据库的性能,选择全文索引来解决是比较好的方法!

3.创建全文索引演示

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

 

use 数据库名字
go
execute sp_fulltext_database 'enable'

(2)建表和初始化数据(说明:测试数据库名称为:myDBTest,测试表名称为:My_FullText)

--建表

USE [myDBTest]
GO

CREATE TABLE My_FullText(
ID [int] IDENTITY(1,1) NOT NULL,
MyText [varchar](256) NOT NULL
)
GO

----全文索引只能创建在唯一的列上

--全文索引不能建立在视图上,香港空间,只能建立在有唯一索引的基础表上。

alter table dbo.My_FullText 
add constraint pk_FullText primary key (ID)
Go

----插入数据

insert into dbo.My_FullText(MyText) values('汽车会飞。 {猜一种饮料} 答案:咖啡 (CAR,飞)')
insert into dbo.My_FullText(MyText) values('A和C谁比较高呢?答案:C比较高 (因为ABCD A比C低)')
insert into dbo.My_FullText(MyText) values('茉莉花、太阳花、玫瑰花哪一朵花最没力? 答案:茉莉花 (好一夺没力[美丽]的茉莉花)')
insert into dbo.My_FullText(MyText) values('猩猩最讨厌什么线? 答案:平行线。 平行线没有相交(香蕉)')
insert into dbo.My_FullText(MyText) values('橡皮、老虎皮、狮子皮哪一个最不好? 答案:橡皮。 (橡皮差)')
insert into dbo.My_FullText(MyText) values('布和纸怕什么? 答案:布怕一万,纸怕万一。(不怕一万,只怕万一)')
insert into dbo.My_FullText(MyText) values('麒麟飞到北极会变成什么? 答案:冰淇淋。 原因:冰淇淋(冰麒麟)')
insert into dbo.My_FullText(MyText) values('1234567890 哪个数字最勤劳,哪个数字最懒惰? 答案:1懒惰;2勤劳。 (1不做2不休)')
insert into dbo.My_FullText(MyText) values('怎样使麻雀安静下来? 答案:压它一下。 原因:鸦雀无声(压雀无声)')
insert into dbo.My_FullText(MyText) values('小白加小白等于什么?答案:小白兔 (TWO)')
insert into dbo.My_FullText(MyText) values('饺子是男人还是女人? 答案:男人 (饺子有包皮 )')
insert into dbo.My_FullText(MyText) values('如果有一台车,美国服务器,小明是司机,小华坐在他右边,小花坐在他后面,请问这台车是谁的呢?? 答案:“如果”的')

(3)创建全文索引

注意:如果不能创建全文索引,有可能是缺乏某些组件,服务器空间,需要下载补丁:

SQL Server 200564-CHS.exe?familyid=D07219B2-1E23-49C8-8F0C-63FA18F26D3A&displaylang=zh-cn )

 

(4)测试全文索引(全文索引查询使用contains和Freetext进行查询)

select * from dbo.My_FullText where contains(MyText,'c')

搜索结果为:

结果为空。而事实上记录中有包含“C”的却搜索不出来,因为默认的断词语言是简体中文,所以英文搜索不出来!

下面使用:

select * from dbo.My_FullText where contains(MyText,'汽车')

(5)删除全文索引

直接删除会出现如:

此时删除主键,则依赖于主键的全文索引会自动删除!

(个人学习体会,如果有什么意见,请踊跃提出!谢谢!如果要转载,请通知本人:)

 

 

posted on

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage