座机 发表于 2016-10-31 01:57:07

Sql Server 2005 索引

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



  
  在表中插入或更新表中数据时,将有额外的操作来维护索
引,那如果没有在表中建立索引的时候,如果向表中插入数据时,只需向数据表插入即可,即维护一张表就
OK

了,那现在建立了索引,当你在向表中插入记录里,系统还向更改索引表的内容,即多维护一张表。



  
  1.一个表只能有一个聚集索引











能有一个,也可以不建。




  
2

.创建非聚集索引之前要先创建聚集索引



3

.关键值的唯一性使用
unique

来维护






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







可以使用存储过程
sp_helpindex

来查看表的所有索引信息





格式:

Sp_helpindex ‘

表名称









索引选择:



在表中哪些列适宜建立索
引呢?



适宜建立索引的列包括:主键字段,外键字段,要排序的
列,要分组的列,以及
WHERE

子句中精确指定的列


=





Where name like ‘


%’  


可搜索的。不需要整个表搜索



Where name like ‘%


%’ 


不可搜索的。需要遍历整个表。



 



不适合建立索引的列:



列的类型是文本,图像或




列的唯一性不强,如性别

(十万条)



列的范围太多,不能有效
索引






CREATE INDEX index_name
ON table_name (column_name)
 

Abstract from:

http://dufei.blog.iyunv.com/382644/80766/
页: [1]
查看完整版本: Sql Server 2005 索引