聚集与非聚集索引
2006-10-11 10:09
聚集与非聚集索引
索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度
按照存储方式分为:聚集与非聚集索引 按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引
索引的结构是由:根节点--->非叶节点--->非叶节点--->叶节点 1、聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。 创建聚集索引的语法: create NONCLUSTERED INDEX idximpID ON EMP(empID) 2、非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少 create CLUSTERED INDEX idxempID on emp(empID) 3、惟一索引:惟一索引可以确保索引列不包含重复的值.可以用多个列,但是索引可以确保索引列中每个值组合都是唯一的 create unique index idxempid on emp(姓,名)
4、复合索引:如果在两上以上的列上创建一个索引,则称为复合索引。 那么,不可能有两行的姓和名是重复的 语法: create index indxfullname on addressbook(firstname,lastname) 5、系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时,会在表上自动创建一个惟一索引 自动创建的索引是无法删除的 create table ABc ( empID int primary key, firstname varchar(50)UNIQUE, lastname varchar(50)UNIQUE, ) 这样的结果就出来了三个索引,但只有一个聚集索引哦 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 问题:聚集与非聚集的排序是否用变化? 答案是:聚集的有变化,非聚集的排序与未创建索引之前一样 |
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8490970/viewspace-893832/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8490970/viewspace-893832/