news 2026/5/4 19:30:57

进阶-存储引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
进阶-存储引擎

一、MySQL进阶

在数据库的世界里,存储引擎就像房屋的"地基"。地基稳固,房屋才能屹立不倒;存储引擎强大,数据库才能高效可靠。正如建筑设计师需要根据房屋用途选择不同的地基材料,数据库开发者也需要根据业务需求选择合适的存储引擎。在MySQL中,这一选择将直接影响数据的完整性、查询性能和系统稳定性。

1. 存储引擎

1.1 MySQL体系结构

MySQL采用分层架构设计,将不同职责的组件分离,形成清晰的层次结构。这种设计使得MySQL能够灵活适应各种应用场景,同时保证系统的高效与稳定。

客户端层:数据库的"门面"(连接层)

主要是接受客户端的连接,然后完成一些连接的处理,以及认证授权的相关操作和相关的安全方案,是否超过最大连接数等;

比如:我们连接服务器的时候,输入的账号和密码就在该层进行校验,这个过程就是授权认证的过程,以及校验每一个客户端所授予的哪些的权限,能够操作哪些数据库、哪些表等。

服务层:数据库的"大脑"

绝对部分的核心功能都是在服务层完成的,像sql接口以及查询解析器、查询优化器、查询缓存等都是该层完成的,所有跨存储引擎的实现也都是在服务层完成的;

比如:DML语句、DDL封装、存储过程视图触发器等

引擎层:数据库的"心脏"

一个一个蓝色的圆筒都是一个一个的存器引擎,在mysql当中提供给了我们十分多的存储引擎,如果满足不了我们的需求,我们还可以在此基础上进行扩展,所以称之为可插拔存储引擎。注意:索引是在该层实现的,意味着不同的存储引擎索引的结构是不一样的!

存储层:数据库的"地基"

存储层: 主要就是存储数据库的相关真实数据,包含日志、数据文件等

1.2 存储引擎简介

存储引擎是数据库管理系统的核心组件,负责数据的物理存储、检索、更新和管理。它通过索引策略、事务机制和锁控制等技术实现数据高效操作。

"存储引擎不是数据库的'装饰品',而是数据库的'灵魂'。"
——《MySQL高级架构设计》

MySQL支持多种存储引擎,每种引擎针对不同的业务场景优化。理解这些引擎的差异,是构建高性能、可靠数据库系统的关键。

-- 查询建表语句,默认引擎为:InnoDB show create table account; -- 查询当前数据库支持的存储引擎 show engines; -- 创建表 my-myisam,并指定MyISAM存储引擎 create table my_myisam( id int, name varchar(10) ) engine = MyISAM; -- 创建表 my-memory,并指定Memory存储引擎 create table my-memory( id int, name varchar(10) ) engine = Memory;

1.3 存储引擎的特点

InnoDB介绍

innodb_file_per_table:默认一直是打开On的,意味着每创建一个表都是有一个.ibd为后缀的文件,该文件包含了:表结构、数据和索引等数据。

核心特点

  • ✅ 支持ACID事务
  • ✅ 行级锁(非表级锁)
  • ✅ 支持外键约束
  • ✅ 崩溃后可恢复
  • ✅ 支持MVCC(多版本并发控制)

Page页是磁盘操作的最小单元,一个区的大小是固定的1M(兆)。一个页的大小也是固定的16K

一个区里面可以包含64个页。

适用场景

  • 金融交易系统
  • 电商订单系统
  • 高并发读写业务

MySQL 5.5+默认存储引擎,也是现代应用的首选。

MyISAM介绍

核心特点

  • ❌ 不支持事务
  • ❌ 表级锁(写操作会阻塞所有读操作)
  • ❌ 不支持外键
  • ✅ 读操作性能极高
  • ✅ 磁盘空间占用小

在磁盘中涉及了三种文件MYD\MYI\sdi。sdi存储表结构、myd存放的是数据、myl代表的是索引。

适用场景

  • 博客、论坛的文章列表
  • 读多写少的静态数据存储
  • 仅用于查询的只读数据库

注意:MySQL 8.0已不再支持MyISAM,但在MySQL 5.x中仍广泛使用。

Memory介绍

核心特点

  • ❌ 不支持事务
  • ❌ 数据不持久(重启后丢失)
  • ✅ 数据存储在内存中
  • ✅ 读写速度极快
  • ✅ 适合临时数据处理

适用场景

  • 临时表、会话数据
  • 中间计算结果缓存
  • 高速数据处理(如统计分析)

1.4 存器引擎选择

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 23:02:59

YOLO模型灰度发布策略:确保线上服务稳定过渡

YOLO模型灰度发布策略:确保线上服务稳定过渡 在智能制造工厂的质检产线上,一台搭载YOLOv8的视觉检测系统正以每秒30帧的速度扫描电路板。突然,新上线的YOLOv10模型开始频繁误判虚焊点——若这是全量部署,整条产线将立即停摆。所幸…

作者头像 李华
网站建设 2026/5/1 9:22:41

YOLO推理耗时分解:前处理、模型、后处理各占多少?

YOLO推理耗时分解:前处理、模型、后处理各占多少? 在工业质检线上,一台AOI(自动光学检测)设备突然帧率腰斩——从稳定的30FPS掉到15FPS,而GPU利用率却只有50%。工程师第一反应是“模型太大”,可…

作者头像 李华
网站建设 2026/5/1 9:17:34

深度学习--CUDA安装配置、pytorch库、torchvision库、torchaudio库安装

一、下载CUDA 1、什么是CUDA CUDA 是 NVIDIA 为自家 GPU 打造的“计算引擎”,它让 GPU 不仅能处理图形,更能变成一个超级并行处理器,用来加速科学计算、人工智能、模拟等海量计算任务。 2、查看电脑版本号 打开终端输入nvidia-smi查看 3、…

作者头像 李华
网站建设 2026/5/3 2:22:21

YOLO模型失败案例复盘:一次因数据偏差导致的事故

YOLO模型失败案例复盘:一次因数据偏差导致的事故 在某电子制造工厂的一条SMT生产线上,自动化质检系统突然“失明”——连续三天未能识别出一批存在明显电容缺失的PCB板。这些本应被拦截的不良品最终流入后续工序,造成数千元损失和客户投诉。而…

作者头像 李华
网站建设 2026/5/1 8:30:31

YOLO目标检测API设计规范:构建易用服务接口的原则

YOLO目标检测API设计规范:构建易用服务接口的原则 在智能制造、智慧城市和自动驾驶等前沿领域,视觉感知正从“可有可无”走向“核心驱动”。面对海量视频流与实时决策需求,如何将强大的AI模型转化为稳定可靠的服务能力,成为工程落…

作者头像 李华
网站建设 2026/5/4 2:17:32

工程实践:破解智能体错误的长尾效应——论“悔改机制”中的通知分级与防再犯设计

在真实业务里,智能体最危险的失败模式往往不是“当场答错”——因为当场答错至少还有机会被用户质疑、被客服兜底、被人工复核流程拦住。更隐蔽、也更具破坏性的情况是:智能体在某一次会话里给出了看似可信的建议,用户照做了,流程…

作者头像 李华