文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>聚集与非聚集索引

聚集与非聚集索引

时间:2006-06-20  来源:jankie

  索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度   按照存储方式分为:聚集与非聚集索引 按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引   索引的结构是由:根节点--->非叶节点--->非叶节点--->叶节点     1、聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大  特点:      (1) 一个表可以最多可以创建249个索引   (2) 先建聚集索引才能创建非聚集索引    (3) 非聚集索引数据与索引不同序    (4) 数据与索引在不同位置    (5) 索引在叶节点上存储,在叶节点上有一个"指针"直接指向要查询的数据区域    (6) 数据不会根据索引键的顺序重新排列数据     创建聚集索引的语法:   create NONCLUSTERED INDEX idximpID ON EMP(empID) 2、非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少 特点:   (1) 无索引,数据无序   (2) 有索引,数据与索引同序    (3) 数据会根据索引键的顺序重新排列数据   (4) 一个表只能有一个索引   (5) 叶节点的指针指向的数据也在同一位置存储 语法:  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, ) 这样的结果就出来了三个索引,但只有一个聚集索引哦     6、创建索引的方法:  1、企业管理器中    (1)右击某个表,所有任务---管理索引,打开管理索引,单击“新建”就可以创建索引    (2)在设计表中进行设计表,管理索引/键    (3)在关系图中,添加表后右击关系图中的某个表,就有“索引/键”    (4)通过向导,数据库---创建索引向导    (5)通过T-SQL语句 2、能过“索引优化向导”来优化索引的向导,通过它可以决定选择哪些列做为索引列         实验的流程:  1、先创建一个表,然后查看一下他的占用资源情况及select * from 表     看一下排序  2、然后创建索引,在观看一下占用资源的情况,及排序情况,看看聚集与非聚集的排序是   否用变化  答案是:聚集的有变化,非聚集的排序与未创建索引之前一样      
相关阅读 更多 +
排行榜 更多 +
飞艇大战

飞艇大战

飞行射击 下载
三维空间战斗机

三维空间战斗机

飞行射击 下载
战斗机教练

战斗机教练

飞行射击 下载