索引 INDEX
系统在存储数据时,会自动选择合适的索引作为存储路径,用户不必也不能选择索引。
在数据库中,索引使对数据的查找不需要对整个表进行扫描,就可以在其中找到所需要的数据。
SQL Server中的索引采用B树结构。
索引由索引项组成,索引项由索引关键字组成。
B树按索引关键字排序,可以对组成索引关键字的任何词条集合进行高效搜索。
聚簇索引 CLUSTERED INDEX
聚簇索引确定表中的物理顺序,数据按索引列进行物理排序。
一个表中只能包含一个聚簇索引。如果表中没有创建其他聚簇索引,则在表的主键列上自动创建聚簇索引。
非聚簇索引 NONCLUSTERED INDEX
数据和索引分别存储在不同地方,索引带有指向数据的存储位置的指针。
索引中的索引项按索引键值顺序存储而表中的信息按另一种顺序存储。
唯一索引 UNIQUE INDEX
唯一索引可以确保索引列不包含重复的值。
在多列唯一索引的情况下,该索引可以确保索引列中每个值的组合都是唯一的。
建立索引
在SQL Server 2012中可以用SQL命令建立索引,具体的命令格式如下:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX 索引名
ON 表 或 视图
(列名 [ASC|DESC])
WHERE 子句
重建索引
使用ALTER INDEX 语句重新生成原来的索引,语法格式为:
ALTER INDEX {索引名|ALL}
ON 表 或 视图
{REBUILD
…
}