创建和使用索引
同数据库中提供了不同的索引类型,SQL Server中的索引有两种:聚集索引和非聚集索 引。聚集索引和非聚集索引的区别是在物理数 据的存储方式上。
10.3 索引的设计原则
(1)索引并非越多越好,一个表中如有大量的索引,不仅占用磁盘空间 将增大,而且会影响INSERT、DELETE、UPDATE等语句的性能,因为 当表中的数据更改的同时,索引也会进行调整和更新。 (2)避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。 而对经常用于查询的字段应该创建索引,但要避免添加不必要的字段。 (3)数据量小的表最好不要使用索引,由于数据较少,查询花费的时间 可能比遍历索引的时间还要短,索引可能不会产生优化效果。 (4)在条件表达式中经常用到的不同值较多的列上建立索引,在不同值 少的列上不要建立索引。比如在学生表的“性别”字段上只有“男”与 “女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高 查询效率,反而会严重降低更新速度。 (5)当唯一性是某种数据本身的特征时,指定唯一索引。使用唯一索引 能够确保定义的列的数据完整性。提高查询速度。 (6)在频繁进行排序或分组(即进行group by或order by操作)的列 上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引。
10.4 创建索引
10.4.1 使用对象资源管理器创建索引 10.4.2 使用T-SQL语句创建索引
10.5 管理和维护索引
10.5.1 显示索引信息 10.5.2 重命名索引 10.5.3 删除索引
第10章 创建和使用索引
本章内容
10.1 10.2 10.3 10.4 10.5 索引的含义和特点 索引的分类 索引的设计原则 创建索引 管理和维护索引
10.1 索引的含义和特点
数据库中现在有2万条记录,现在要执行这 样一个查询:SELECT * FROM table where num=10000。如果没有索引,必 须遍历整个表,直到num等于10000的这 一行被找到为止;如果在num列上创建索引 ,SQL Server不需要任何扫描,直接在索 引里面找10000,就可以得知这一行的位置 。可见,索引的建立可以加快数据库的查询 速度。