码迷,mamicode.com
首页 > 其他好文 > 详细

聚集索引和非聚集索引

时间:2014-12-21 01:58:56      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:聚集索引 非聚集索引

指的是聚集索引,索引可分聚集和非聚集索引,这两者区别比较多,但是最主要的区别是:
    一个表的聚集索引只能有一个,是因为数据行在保存的时候,是按聚集索引的顺序保存的,你可以把它简单的理解成物理存储的位置,这里涉及到页面的概念,你可以查查看。就是物理磁盘上分很多页面,一个有聚集索引的表,他的页面链是按聚集索引排列的,举个例子,如果一个页面已经写满了数据,你要插入一行,如果是非聚集索引,sql会随便找个地方保存,把地址记录进索引,但是如果是聚集索引,会把数据插入到这个页面,而后面的数据同时会往后移动(用页面拆分的办法),看上去速度要慢,但是聚集索引在搜索时,速度会比非聚集索引快,因为他们是物理排序的。


       PRIMARY KEY 或 UNIQUE 约束创建聚集或非聚集索引。PRIMARY KEY 约束默认为 CLUSTERED;UNIQUE 约束默认为 NONCLUSTERED。如果表中已存在聚集约束或索引,那么在 ALTER TABLE 中就不能指定 CLUSTERED。如果表中已存在聚集约束或索引,PRIMARY KEY 约束默认为 NONCLUSTERED。

聚集索引和非聚集索引

标签:聚集索引 非聚集索引

原文地址:http://vincent1992.blog.51cto.com/4621739/1592108

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!