数据库加索引为什么可以有效提高查询速度?

[数据库技术] 季雨林 2020/5/26 15:49:49

索引这个词,更早来源于书本,实体书一般都有一个叫目录的“索引页”:索引页可以通过标题,找内容的时候可以根据排序规律快速跳跃某些内容的页码上。



想想书的索引,数据库索引的作用就很明确了,书本的索引是对标题进行规则排序。

类比:

书的页码》数据表里行数据的硬盘物理地址

书的目录》数据表里编入目录的数据列


数据库里也是一样,表的索引就是把某些列按照循序排好,单独找个位置存下,每次更新或者新增时候同时要维护下存储的索引,然后查询时候优先从看看查询条件里,有没有能用到的索引列,然后就“跳跃过去快速找数据”。


当然,提高查询效率,也是有代价的,所以特别需要提前规划好,那些列需要用于索引列。代价就是:存储空间!对text等超大列创建索引,会提示失败,原因也是如此,对于较大的数据,排序编纂索引,明显已经失去了意义,因此数据库直接不允许对于超过一定长度的列进行索引设置。



原文地址: https://www.opengps.cn/Blog/View.aspx?id=709 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示