您的位置 首页 > 娱乐休闲

SQL 创建索引 Index

数据库索引是什么?(what is Index)

索引是一种特殊的目录。是对数据库表中一列或多列的值进行排序的结构。像图书馆例子<字母序号书名>;字典例子<拼音/部首>等。

索引的作用是什么?(What Index Function)

加快对表中记录的查找定位或排序。

数据库索引分类是什么?(What Index Catalog)

第一类:聚集索引(clustered Index)

  1. 聚集索引(clustered Index)
  • 表中行的物理顺序与键值的逻辑(索引)顺序相同,一个表只能包含一个聚集索引;
  • 对于那些定义为text, image和bit数据类型的列不应该增加索引;
  • 当修改性能远远大于检索性能时,不应该创建索引。

2.非聚类索引(nonclustered Index)

  • 可以看作是一个含有聚集索引的表;
  • 他只仅包含原表中非聚集索引的列和指向实际物理表的指针.

第二类:唯一索引(Unique Index)

1.唯一索引(Unique Index)

  1. 不允许其中任何两行具有相同索引值的索引。
  2. 唯一索引并不一定就是主键。
  3. 唯一索引允许为空值,但是不能被其他表引用为外键。
  4. 一个表可以有多唯一索引。

2.简单索引(Simple Index)

普通索引一般是在建表后再添加的索引。

第三类:主键索引(Primary Key Index)

  1. 主键是一种约束,主键创建后一定包括一个唯一索引。
  2. 主键可以被其他表引用为外键,但是唯一索引不可以。
  3. 一个表只能创建一个主键索引,主键列不允许为空值。
  4. 主键索引更适合那些不容易更改的唯一标识。如自动递增,车牌号,学生编号等。
  5. 在RPO模式下,主键索引的执行计划优先级要高于唯一索引。

注:

还有一些 全文索引、xml索引等等。

索引的优点是什么?(What Advantage)

1.索引是经过某种算法优化过的,可以大大加快数据的检索速度;

2.可以加速表和表之间的连接;

3.使用索引可以在查询的过程中,使用优化隐藏器,提高系统的性能。

索引的缺点是什么?(What Weakness)

1.增加了数据库的存储空间(物理空间);

2.在增删改数据时要花费较多的时间(因为索引也要随之更新);

3.创建索引和维护索引要耗费时间;

如何创建索引? (How Create Index)

语法:

create [unique][clustered | nonclustered] index index_name on {table_name | view_name} [with [index_property [1,...,n]]]

注:

index_property:索引属性。

索引实例 (Index Exercises)

1.转到当前所用数据库

use TestSchool go

2.判断是否已存在要创建的索引

if exists( select * from sysindexes where name = 'IX_Adress_Id') drop index IX_Adress_Id go

3.创建Adre 列唯一索引

create unique index IX_Adress_Id on Adress(Id asc) go

注: 升序建立索引

4.查询显示索引信息

exec sp_helpindex Adress ;

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“SQL,创建索引,Index”边界阅读