MySQL:索引

server/2025/1/15 10:48:25/

目录

1.MySQL索引是干什么的

2.铺垫知识

3.单个page的理解

4.页目录

单页情况

多页情况


1.MySQL索引是干什么的

MySQL的索引是提高查询效率,主要提高海量数据的检索速度。

2.铺垫知识

操作系统与磁盘之间IO的基本单位是4kb。

数据库是一个应用层软件,数据库与操作系统之间IO的基本单位16kb,也可以认为数据库与磁盘之间IO的基本单位16kb。

为什么数据库与磁盘IO的基本单位这么大?

数据库一切的CURD操作都是在内存中,也就注定了需要有大量的IO操作,即使我需要修改的数据只有1kb也会直接加载16kb的数据到内存,因为我下次修改的数据也可能在这16kb中,在一定概率上提高了IO的效率。

数据库与磁盘IO的基本单位称之为页(page)

查看下页的大小

16384就是16kb。

3.单个page的理解

数据库的page都是像链表一样串在一起的,page内的数据也是连接在一起的,也就是说我想找到某个数据必须从头遍历。

4.页目录

单页情况

页目录实际就是指向数据记录的指针。

通过引入页目录就可以大大减少页内的遍历,但是会占用一点空间。

假设有1000条数据,有20个页目录,最大的查询次数也就是 20 + 50 = 70次,比从头遍历效率搞了很多。

多页情况

当数据量增大时MySQl会开辟新的页来进行存储。

那要是有1000个page的化还不是得遍历1000吗?

是的确实会有这样的问题,在增加一级索引就可解决这个问题,假设2级的page也变得很多,还可以再增加一级page依次类推。

假设我想寻找8号杨过,遍历二级page的页目录,发现起始位置为6的页中,通过指针找到一级page,遍历一级page的页目录,发现正好与目录2指向的位置对应直接返回。

 


http://www.ppmy.cn/server/158526.html

相关文章

智能化植物病害检测:使用深度学习与图像识别技术的应用

植物病害一直是农业生产中亟待解决的问题,它不仅会影响作物的产量和质量,还可能威胁到生态环境的稳定。随着人工智能(AI)技术的快速发展,尤其是深度学习和图像识别技术的应用,智能化植物病害检测已经成为一…

Vue环境变量配置指南:如何在开发、生产和测试中设置环境变量

-## 前言 Vue.js是一个流行的JavaScript框架,它提供了许多工具和功能来帮助开发人员构建高效、可维护的Web应用程序。其中一个重要的工具是环境变量,它可以让你在不同的环境中配置不同的参数和选项。在这篇博客中,我们将介绍如何在Vue应用程…

SpringMvc解决跨域问题的源码汇总。

看本文章前,需了解跨域的缘由。 其次,了解RequestMapping的基础原理 最后我们来解析SpringMvc是如何处理跨域问题的。 跨域信息配置 SpringMvc分为全局级别和局部级别两种,全局级别就是任何跨域请求都起作用。 全局级别 全局级别就是在配…

构建高效的进程池:深入解析C++实现

构建高效的进程池:深入解析C实现 在高性能计算和服务器应用中,进程池(Process Pool)是一种重要的设计模式。它通过预先创建和维护一定数量的子进程来处理大量的任务请求,从而避免频繁地创建和销毁进程带来的开销。本文…

创建和管理表

第十章: 创建和管理表 1.基础知识 1.1一条数据的存储规则 MySQL数据库从大到小依次是数据库函数,数据库,数据表,数据表的行与列 1.2标识符命名规则 数据库名 表名不得超过30个字符,变量名限制为29个 必须只能包括A-Z,a-z,0-9,_共63个字符 数据库名,表名,字段名等对象名中间…

Level2逐笔成交逐笔委托毫秒记录:今日分享优质股票数据20250114

逐笔成交逐笔委托下载 链接: https://pan.baidu.com/s/18YtQiLnt06cPQP1nRXor0g?pwd4k3h 提取码: 4k3h Level2逐笔成交逐笔委托数据分享下载 基于Level2的逐笔成交和逐笔委托数据,这种毫秒级别的记录能分析出许多关键信息,如庄家意图、虚假动作&#…

vue实现淘宝web端,装饰淘宝店铺APP,以及后端设计成能快速响应前端APP

一、前端实现 实现一个类似于淘宝店铺的装饰应用(APP)是一个复杂的任务,涉及到前端界面设计、拖放功能、模块化组件、数据管理等多个方面。为了简化这个过程,我们可以创建一个基本的 Vue 3 应用,允许用户通过拖放来添…

PHP:构建高效Web应用的强大工具

在当今的数字化时代,Web应用已经成为各行各业不可或缺的一部分。而在众多的编程语言中,PHP(Hypertext Preprocessor)凭借其简单易学、功能强大、兼容性高等特点,成为了构建Web应用的热门选择。本文将深入探讨PHP的优势…