索引这个词,更早来源于书本,实体书一般都有一个叫目录的“索引页”:索引页可以通过标题,找内容的时候可以根据排序规律快速跳跃某些内容的页码上。
想想书的索引,数据库索引的作用就很明确了,书本的索引是对标题进行规则排序。
类比:
书的页码》数据表里行数据的硬盘物理地址
书的目录》数据表里编入目录的数据列
数据库里也是一样,表的索引就是把某些列按照循序排好,单独找个位置存下,每次更新或者新增时候同时要维护下存储的索引,然后查询时候优先从看看查询条件里,有没有能用到的索引列,然后就“跳跃过去快速找数据”。
当然,提高查询效率,也是有代价的,所以特别需要提前规划好,那些列需要用于索引列。代价就是:存储空间!对text等超大列创建索引,会提示失败,原因也是如此,对于较大的数据,排序编纂索引,明显已经失去了意义,因此数据库直接不允许对于超过一定长度的列进行索引设置。
原文地址:
https://www.opengps.cn/Blog/View.aspx?id=709
文章的更新编辑依此链接为准。欢迎关注源站原创文章!