ue3dSQL Server中的索引

SQL Server中的索引

分类:
ue3d - SQL Server中的索引

本文介绍什么是SQL Server中的索引?索引有几种类型以及如何为表创建索引。

索引用于快速从表中检索数据,它可以被认为是指向正在查找的表中数据的查找表,在表和视图上创建索引。

SQL Server中的索引类似书本上的索引,书中的索引通过提供页码帮助快速查找特定页面或部分,就像书籍一样,SQL Server中的索引可以快速找到数据。

表中索引的语法

创建索引

CREATE INDEX name_of_index ON name_of_table (field_name)

Field_name是表的列,可以使用以逗号分隔的多个列名称。

删除索引

DROP INDEX table_name.name_of_inde

SQL Server中的索引类型

SQL Server中存在多种类型的索引,可以从这里查看。

  1. Clustered Index
  2. Non-Clustered Index
  3. Unique Index
  4. Hash
  5. Columnstore
  6. Filtered
  7. Spatial
  8. XML
  9. Full-text
  10. Index with included columns
  11. Index on computed columns

在本文中,将看到聚簇索引、非聚簇索引和唯一索引,将在本教程中使用下表创建索引。

tblIndexDemo
tblIndexDemo

Clustered Index(聚簇)

聚集索引(Clustered Index)首先对数据行进行排序,然后将数据行存储在表或视图中。因此,它决定了数据行在表或视图中的存储顺序,该顺序是根据聚簇索引键决定的。

注意:

一张表只能有一个聚簇索引,表中的主键约束自动创建聚簇索引。因此,如果表中已经存在主键,则无法创建另一个聚集索引。

可以将聚簇索引与电话簿进行比较,其中名称按字母顺序排列,下面看看如何创建聚簇索引。

Create Clustered Index demo_clustered_index
ON tblIndexDemo(FirstName)

创建聚簇索引后,对表运行选择查询,可以看到该表已按名字的字母顺序排列。

select * from tblIndexDemo
ue3d - SQL Server中的索引

非聚集索引(Non-Clustered)

非聚集索引(Non-Clustered)为存储在与实际表不同位置的索引维护另一个表(查找表),查找表中的索引将指向实际表的数据行。

非聚集索引可以与单独提供索引的书籍索引进行比较,可以在SQL Server中创建许多编号的非聚集索引。

创建非聚集索引的语法:

Create NonClustered Index demo_non_clustered_index
ON tblIndexDemo(FirstName)

聚簇索引和非聚簇索引之间的区别

  • 聚集索引物理存储在表中,而非聚集索引位于单独的位置。
  • 每个表只能有一个聚簇索引,但可以有多个非聚簇索引。
  • 聚集索引可以快速读取数据,因为它们存在于表本身中,非聚集索引在另一个表中维护,因此相对较慢。
  • 如果要插入和更新数据,非聚集索引会更快。
  • 非聚集索引因为有额外的表,所以会消耗额外的存储空间。

唯一索引(Unique)

唯一索引(Unique)维护索引中的唯一条目,意味着该列中不允许有重复值。

  • 当创建主键时,会自动在该列上创建一个唯一聚集索引。
  • 可以在一个表中定义多个唯一索引。

创建唯一索引的语法:

Create UNIQUE INDEX demo_unique_index
ON tblIndexDemo(FirstName)

现在,如果尝试在FirstName列中添加重复值,则会引发错误。

Insert into tblIndexDemo Values (8, 'Brad', 'Male', 37)

下面是输出结果:

ue3d - SQL Server中的索引

以上是3D天堂关于SQL Server中的索引的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:880
  • 字符:2402
  • 适用软件:Unity
  • 说明:无
  • 编号:155260

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!