注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

数据库索引  

来自zxhguanshi   2011-08-23 16:33:34|  分类: 数据库相关 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一、  什么是数据库索引?

索引是指在数据库大量数据中,为迅速查找所需要的数据或排序等,在原数据表为基础建立的辅助文件。通过它可对数据表进行排序,迅速查找。

      索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。

二、索引的优缺点

     “水可载舟,亦可覆舟”,索引也一样。索引有助于提高检索性能,但过多或不当的索引会导致系统低效。因为用户在表中每加进一个索引,数据库就要做更多的工作。过多的索引甚至会导致索引碎片。

     优点: 

(1)最明显的一点,可以大大加快数据的检索速度;

(2)通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性;

(3)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;

(4)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间;

(5)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

缺点:

 (1)创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;

(2)每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大;

(3)当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

  评论这张
 
阅读(400)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016