索引用于快速找出在某个列中某一特定值的行。不使索引,数据库必须从第一条记录开始读完整个表,直到找到相关行。如果表中查询的列有一个索引,数据库能快速到达一个位置去搜寻数据,而不必查看所有数据。
索引的含义和特点:
索引是一个单独的、存储在磁盘上的数据结构,他们包含着对数据表里所有记录的应用指针。使用索引用于快速找出在某个或多个列中有一某特定值的行,对相关列使用索引是降低查询操作时间的最佳途径,索引包含有表或视图中的一列或多列生成的键。
数据库中现在有2万条记录,现在要执行这样一个查询:SELECT* FROM table where num=10000。如果没有索引,必须遍历整个表,直到num等于10000的这一行被找到为止;如果在num列上创建索引,SQLServer不需要任何扫描,直接在索引里面找10000,就可以得知这一行的位置。可见,索引的建立可以加快数据库的查询速度。
索引的优点主要有以下几条:
通过创建唯一索引,可以保证数据库表中每一行数据的唯一性。
可以大大加快数据的查询速度。
3.实现数据的参照完整性,可以加速表与表之间的连接。
4.在使用分组和排序字句进行数据查询时,也可以显著减少查询中分组和排序的时间。
索引的缺点主要有以下几条:
1.创建和维护索引要消耗时间,并且随着数据量的增加所耗费的时间也会增加。
2.索引需要占磁盘空间,除了数据表占数据空间外,每一个索引还要占一定的物理空间,如果有大量的索引,索引文件可能比数据文件更快到达最大文件尺寸。
3.当对数据表中的数据进行增删改的时候,索引也要动态的维护,这样就降低了数据的维护速度。