索引是怎么使用的(索引是什么操作)

lxf2023-07-22 01:30:01

数据库中的索引类似于高校图书馆的书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL的性能在300万条记录左右后会逐渐下降,所以在遇到大量数据时,建立索引是非常必要的。

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

我们可以简单的理解为:能够快速找出顺序的数据结构。

Mysql索引主要有两种结构:B+树索引和Hash索引。

除非特别说明,我们通常所说的索引一般是指B树结构组织的索引(B+树索引)。索引如上所示。

最外面的浅蓝色磁盘块1包含数据17和35(深蓝色)以及指针P1、P2和P3(黄色)。P1指针指示小于17的磁盘块,P2在17和35之间,P3指向大于35的磁盘块。真实数据存在于子叶节,即底层3、5、9、10、13...非叶节点不存储真实数据,只存储引导搜索方向的数据项,如17和35。

搜索过程:例如,要搜索28个数据项,首先将磁盘块1装入内存,生成一个I/O,并使用二分搜索法来确定指向P2的指针。然后发现26-30之间,磁盘块3通过P2指针的地址加载到内存,第二次I/O发生。用同样的方法找到磁盘块8,第三次I/O发生。

真实情况是上面三层的B+树可以表示百万数据,百万数据只有三次I/O而不是百万次I/O,所以时间提升是巨大的。

这就是mysql索引的作用。更多详情,请关注AdminJS.cn其他相关文章!

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!