索引用于快速找出在某个列中某一特定值的行。不使索引,数据库必须从第一条记录开始读完整个表,直到找到相关行。如果表中查询的列有一个索引,数据库能快速到达一个位置去搜寻数据,而不必查看所有数据。
索引的含义和特点:
索引是一个单独的、存储在磁盘上的数据结构,他们包含着对数据表里所有记录的应用指针。使用索引用于快速找出在某个或多个列中有一某特定值的行,对相关列使用索引是降低查询操作时间的最佳途径,索引包含有表或视图中的一列或多列生成的键。
数据库中现在有2万条记录,现在要执行这样一个查询:SELECT*
FROM table where num=10000。如果没有索引,必须遍历整个表,直到num等于10000的这一行被找到为止;如果在num列上创建索引,SQLServer不需要任何扫描,直接在索引里面找10000,就可以得知这一行的位置。可见,索引的建立可以加快数据库的查询速度。
索引的优点主要有以下几条:
1.通过创建唯一索引,可以保证数据库表中每一行数据的唯一性。
2.可以大大加快数据的查询速度。
3.实现数据的参照完整性,可以加速表与表之间的连接。
4.在使用分组和排序字句进行数据查询时,也可以显著减少查询中分组和排序的时间。
索引的缺点主要有以下几条:
1.创建和维护索引要消耗时间,并且随着数据量的增加所耗费的时间也会增加。
2.索引需要占磁盘空间,除了数据表占数据空间外,每一个索引还要占一定的物理空间,如果有大量的索引,索引文件可能比数据文件更快到达最大文件尺寸。
3.当对数据表中的数据进行增删改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
分享到:
相关推荐
该ppt详细描述sqlserver索引优化时带来的查询性能提升和更新锁开销,最后介绍表设计,字段数据类型的选择及使用适当的冗余减少表连接
SQL Server 索引结构及其使用(聚集索引和非聚集索引)的区别与实例讲解,提高查询速度。
SQLServer索引设计经验谈SQLServer索引设计经验谈
用于SqlServer的索引重建,全语句实现,可根据实际情况进行部分关键表的索引重建。
sql server 重新组织和重新生成索引
SqlServer索引工作原理
此文档中详细的记载了,SQL Server 索引中include的魅力(具有包含性列的索引),希望可以帮到下载的朋友们!
SQLServer索引碎片和解决方法,提供相关样例查看索引碎片和解决方法
Sqlserver索引分析,Sqlserver索引缺失,Sqlserver索引建议
SQL Server 索引结构及其使用
优化SQL Server索引的小技巧.doc
SQLserver索引失效举例.txt
我在这里只讨论两种SQLServer索引,即clustered索引和nonclustered索引。当考察建立什么类型的索引时,你应当考虑数据类型和保存这些数据的column。同样,你也必须考虑数据库可能用到的查询类型以及使用的最为频繁的...
资源名称:SQLServer索引调优实践资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
sql server创建索引sql server创建索引
深入理解SqlServer索引机制及合理优化数据库
SQL SERVER索引文件迁移到文件组,可以将索引和数据文件分在不同的文件组中,实现物理分离,便于管理
SQLserver索引创建语句