代码改变世界

sql 索引的创建

2019-05-09 15:38  Evan.Pei  阅读(232)  评论(0)    收藏  举报
CREATE [UNIQUE|CLUSTERED|NONCLUSTERED] INDEX INDEX_NAME ON 表名(列)--表名(列...)
UNIQUE和CLUSTERED为可选项,分别是建立唯一索引和聚集索引。
具体解释为:
索引的分类:

索引就类似于中文字典前面的目录,按照拼音或部首都可以很快的定位到所要查找的字。

唯一索引(UNIQUE):每一行的索引值都是唯一的(创建了唯一约束,系统将自动创建唯一索引)

主键索引:当创建表时指定的主键列,会自动创建主键索引,并且拥有唯一的特性(也是一个聚集索引)。

聚集索引(CLUSTERED):聚集索引就相当于使用字典的拼音查找,因为聚集索引存储记录是物理上连续存在的,即拼音 a 过了后面肯定是 b 一样。

非聚集索引(NONCLUSTERED):非聚集索引就相当于使用字典的部首查找,非聚集索引是逻辑上的连续,物理存储并不连续。

PS:聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
复合索引:在多个列上建立索引,这种索引叫做复合索引(组合索引)。