目录
学习类容:索引和全文检索
-
索引
-
索引:对数据库中一列或多列的值进行排序的一种结构
-
作用:合理的使用索引可以加速检索表中的数据。
-
分类:
-
按键列个数区分:单列索引,多列索引。
-
按数据唯一性区分:唯一索引,非唯一索引。
-
按存储结构区分:聚集索引(又称:聚类索引,簇集索引),分聚集索引(非聚集类索引,非簇集索引)
-
聚集索引:是给数据排序,一个表只有一个聚集索引。通常主键就是聚集索引。(可以认为它的查询性能是最快的)
-
非聚集索引:一个表可以有多个非聚集索引,每个非聚集索引根据索引列的不同提供不同的排序。
实际例子
- 在phone表上创建基于 name 列的非聚集索引。(随便找个表用用就是)
- 语法------create nonclustered index 索引名 on 表名(列名)
----nonclustered 关键字是可以省略的,默认的就是非聚集
----nonclustered 关键字是可以省略的,默认的就是非聚集
create nonclustered index ph on phone(phone)
刷新查看:
- 在phone表上创建基于 name 列的非聚集索引。
create clustered index phh on phone(name)
刷新查看:
- 在phone表上创建基于 name 列的唯一索引。
- 语法----create unique index 索引名 on 表名.(列名)
create unique index phhh on phone(name)
刷新查看:
- 多列索引
----多列索引
create unique index phhhh on phone(name,phone)
刷新查看:
- 删除创建的索引
- 语法------drop index 表名.索引名
drop index phone.phh
刷新查看:
-
全文检索
- 全文检索是建立在全文目录上的。所以需要先创建一个全文目录,再创建全文检索。
- 因为一张表只可以有一个全文检索,所以全文检索没有也不需要名字。
-----------索引--------------
select * from phone
---在phone表上创建基于 name 列的非聚集索引。
-----语法------create nonclustered index 索引名 on 表名(列名)
----create index 索引名 on 表名.(列名)
----nonclustered 关键字是可以省略的,默认的就是非聚集
create nonclustered index ph on phone(phone)
----clustered聚集类
create clustered index phh on phone(name) ----clustered聚集类
----删除创建的索引----语法------drop index 表名.索引名
drop index phone.ph
drop index phone.phh
drop index phone.phhh
drop index phone.phhhh
---在phone表上创建基于 name 列的唯一索引。
--语法----create unique index 索引名 on 表名.(列名)
create unique index phhh on phone(name)
----多列索引
create unique index phhhh on phone(name,phone)
--------------------全文检索------------------
---创建一个默认的全文目录 ft --
use yxhlhm
go
create fulltext catalog ft as default
---在默认全文目录下创建全文检索----
--语法--
--create fulltext index on 表(列名)
--key index 唯一键索引的名称
--go
--为全文检索创建一个 唯一索引 ----
create unique index phhh on phone(name)
create fulltext index on phone(name)
key index phhh
go
--打开索引支持
execute SP_FULLTEXT_DATABASE 'Enable'
但是我好像出问题了:··········
报错提示:未安装全文搜索或无法加载某一全文组件。
在网上查了下,在看看自己的配置:
的确是没有安装那个什么:但是。。。。
明天再弄弄~~~~~哭辽~~~~