数据库索引简介

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排3序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。

索引的优缺点:
通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引将占用磁盘空间,并且降低添加、删除和更新行的速度。如果应用程序非常频繁地更新数据,或磁盘空间有限,那么最好限制索引的数量。  
建立索引的目的是加快对表中记录的查找或排序。 
为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。

聚集索引和非聚集索引:

聚集索引:索引目录是有序的,每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序
非聚集索引:索引目录是无序的,
聚集索引和非聚集索引的使用场合:聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快
  


动作描述使用聚集索引 使用非聚集索引
列经常被分组排序
返回某范围内的数据不应
一个或极少不同值 不应不应
小数目的不同值不应
大数目的不同值 不应
频繁更新的列不应
外键列
主键列
频繁修改索引列

不应

索引使用的误区:

1、主键就是聚集索引 
  这种想法笔者认为是极端错误的,是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的。 
2、只要建立索引就能显著提高查询速度

3、把所有需要提高查询速度的字段都加进聚集索引,以提高查询速度 

其他书上没有的索引使用经验总结 

1、用聚合索引比用不是聚合索引的主键速度快 

2、用聚合索引比用一般的主键作order by时速度快,特别是在小数据量情况下 

3、使用聚合索引内的时间段,搜索时间会按数据占整个数据表的百分比成比例减少,而无论聚合索引使用了多少个:

4、日期列不会因为有分秒的输入而减慢查询速度 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值