美文网首页程序员MySQL高性能MySQL
MySQL实战 | 04 为什么要使用索引?

MySQL实战 | 04 为什么要使用索引?

作者: hoxis | 来源:发表于2018-12-10 13:10 被阅读6次

    原文链接:MySQL实战 | 为什么要使用索引?

    用过 MySQL 的应该都知道索引是干啥的吧,应该多少都设置过索引,但是若是问你索引是怎么实现的,你能说上来吗?

    索引是什么?

    MySQL 官方对索引的定义为:索引是帮助 MySQL 高效获取数据的数据结构。

    在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。

    索引的出现就是为了提高查询效率,就像书的目录。其实说白了,索引要解决的就是查询问题。

    查询,是数据库所提供的一个重要功能,我们都想尽可能快的获取到目标数据,因此就需要优化数据库的查询算法,选择合适的查询模型来实现索引。

    另外,为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间,因为索引也要随之变动。

    常见查询模型

    索引的实现模型有很多,这里我们先了解一下常用的查询模型。

    顺序数组

    顺序数组是一种特殊的数组,里面的元素,按一定的顺序排列。

    顺序数组在查询上有着一定的优势,因为是有序的数据,采用二分查找的话,时间复杂度是 O(log(N))

    你的关注是对我最大的鼓励!

    最近搜集到传智播客 2018 最新 Python 和 Java 教程!关注本公众号,后台回复「2018」即可获取下载地址。

    公众号提供CSDN资源免费下载服务!


    相关文章

      网友评论

        本文标题:MySQL实战 | 04 为什么要使用索引?

        本文链接:https://www.haomeiwen.com/subject/dweicqtx.html