数据库索引
- - CSDN博客推荐文章索引是由用户创建的、能够被修改和删除的、实际存储于数据库中的物理存在;创建索引的目的是使用户能够从整体内容直接查找到某个特定部分的内容. 一般来说,索引能够提高查询,但是会增加额外的空间消耗,并且降低删除、插入和修改速度. 1.聚集索引:表数据按照索引的顺序来存储的. 2.非聚集索引:表数据存储顺序与索引顺序无关.
使用索引有很多优点,例如可以大大提高数据库的检索速度,改善数据库性能;
可以在查询的过程中使用优化隐藏器,提高系统的性能等。虽然索引有很多优点,
但是增加索引也会存在着缺陷,例如:
1.创建索引和维护索引要耗费时间;
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间;
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
索引如何使用也即是给哪些列创建索引?
1.在经常需要搜索的列上创建索引;
2.在主键上创建索引;
3.在经常用于连接的列上创建索引,也就是在外键上创建索引;
4.在经常需要根据范围进行搜索的列上创建索引(因为索引已经排序,其指定的范围是连续的);
5.在经常需要排序的列上创建索引(因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间);
6.在经常用在WHERE子句中的列上创建索引。
使用索引也要注意的几点原则:
1.对于小的数据表,索引并不能提高任何检索性能。
2.当要检索的字段的数据包含很多数值时候或空值时,为该字段创建索引,提高性能。
3.如查询结果包含的数据较少,少于数据总数的25%,使用索引可以提高效率。
4.索引列在where子句中应频繁使用。
5.先装数据后建索引。
6.索引要占数据库空间
7.尽量把表和索引存放在不同磁盘上,这样提高查询速度。