只有建立在表上的索引。一个表的存储由两部分组成的:一部分用来存放表的数据页面,另一部分存放索引页 面。
在表中插入或更新表中数据时,将有额外的操作来维护索 引,那如果没有在表中建立索引的时候,如果向表中插入数据时,只需向数据表插入即可,即维护一张表就 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.51cto.com/382644/80766/