当前位置: 代码迷 >> SQL >> Sql Server 2005 目录
  详细解决方案

Sql Server 2005 目录

热度:464   发布时间:2016-05-05 13:48:13.0
Sql Server 2005 索引

只有建立在表上的索引。一个表的存储由两部分组成的:一部分用来存放表的数据页面,另一部分存放索引页面。

?

在表中插入或更新表中数据时,将有额外的操作来维护索引,那如果没有在表中建立索引的时候,如果向表中插入数据时,只需向数据表插入即可,即维护一张表就OK了,那现在建立了索引,当你在向表中插入记录里,系统还向更改索引表的内容,即多维护一张表。

?

1.一个表只能有一个聚集索引能有一个,也可以不建。

2.创建非聚集索引之前要先创建聚集索引
3.关键值的唯一性使用unique来维护

聚集索引是和表的物理顺序是一致的,所以速度要快,但非聚集索引就不是了,它是和表的物理顺序是无关的,所以速度要慢。

可以使用存储过程sp_helpindex来查看表的所有索引信息
格式:Sp_helpindex ‘表名称

索引选择:
在表中哪些列适宜建立索引呢?
适宜建立索引的列包括:主键字段,外键字段,要排序的列,要分组的列,以及WHERE子句中精确指定的列 =
Where name like ‘%’?? 可搜索的。不需要整个表搜索
Where name like ‘%%’? 不可搜索的。需要遍历整个表。
?
不适合建立索引的列:
列的类型是文本,图像或位
列的唯一性不强,如性别 (十万条)
列的范围太多,不能有效索引

CREATE INDEX index_nameON table_name (column_name)
?
Abstract from:
http://dufei.blog.51cto.com/382644/80766/

  相关解决方案