sql server 数据库的索引汇总
哈希
借助于哈希索引,可通过内存中的哈希表来访问数据。 哈希索引的内存用量固定不变,是存储桶数量的函数
内存优化非聚集索引
对于内存优化的非聚集索引,内存使用量依赖于行计数以及索引键列的大小
聚集
聚集索引基于聚集索引键按顺序排序和存储表或视图中的数据行。 聚集索引按 B 树索引结构实现,B 树索引结构支持基于聚集索引键值对行进行快速检索。
非聚集
既可以使用聚集索引来为表或视图定义非聚集索引,也可以根据堆来定义非聚集索引。 非聚集索引中的每个索引行都包含非聚集键值和行定位符。 此定位符指向聚集索引或堆中包含该键值的数据行。 索引中的行按索引键值的顺序存储,但是不保证数据行按任何特定顺序存储,除非对表创建聚集索引。
唯一
唯一索引确保索引键不包含重复的值,因此,表或视图中的每一行在某种程度上是唯一的。
唯一性可以是聚集索引和非聚集索引的属性。
columnstore
内存中列存储索引通过使用基于列的数据存储和基于列的查询处理来存储和管理数据。
列存储索引适合于主要执行大容量加载和只读查询的数据仓库工作负荷。 与传统面向行的存储方式相比,使用列存储索引存档可最多提高 10 倍查询性能 ,与使用非压缩数据大小相比,可提供多达 7 倍数据压缩率 。
带有包含列的索引
一种非聚集索引,它扩展后不仅包含键列,还包含非键列。
计算列上的索引
从一个或多个其他列的值或某些确定的输入值派生的列上的索引。
Filtered
一种经过优化的非聚集索引,尤其适用于涵盖从定义完善的数据子集中选择数据的查询。 筛选索引使用筛选谓词对表中的部分行进行索引。 与全表索引相比,设计良好的筛选索引可以提高查询性能、减少索引维护开销并可降低索引存储开销。
空间
利用空间索引,可以更高效地对几何数据类型的列中的空间对象( 空间数据 )执行某些操作。 空间索引可减少需要应用开销相对较大的空间操作的对象数。
XML
xml 数据类型列中 XML 二进制大型对象 (BLOB) 的已拆分持久表示形式。
全文
一种特殊类型的基于标记的功能性索引,由 Microsoft SQL Server全文引擎生成和维护。 用于帮助在字符串数据中搜索复杂的词。