news 2026/4/15 10:52:07

MySQL 的存储引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 的存储引擎

你可以把数据库想象成一个大仓库,用来存放数据。存储引擎就是管理这个仓库的“不同管家”,每个管家管仓库的方法和特长都不一样。


三大“管家”的简单比喻

1. InnoDB 管家 ——银行的保险库经理
  • 特点非常严谨、安全、可靠
  • 他怎么管
    • 事务(核心):比如银行转账,必须“A账户扣钱”和“B账户加钱”两步同时完成或同时失败,绝不会只做一步。InnoDB管家保证操作的“原子性”。
    • 行级锁:只锁住正在操作的那个货架(某一行数据),其他人可以同时操作其他货架,效率高,不堵
    • 外键:保证仓库里的货物关联正确(比如有“订单”就必须有对应的“客户”)。
    • 不怕断电:即使仓库突然停电,他也有账本(日志)可以恢复数据,不会错乱。
  • 适合绝大多数严肃、重要的场景。比如:网上商城、银行系统、需要用户注册登录的网站(现在默认就用他)
2. MyISAM 管家 ——老式图书馆管理员
  • 特点老派、简单、读东西快,但怕写、怕乱
  • 他怎么管
    • 无事务:借书、还书没有严格记录,万一中途出岔子,书可能就丢了。
    • 表级锁:只要有一个人要在一本书上贴个标签(修改数据),他就把整个图书馆(整张表)锁起来,其他人一律等着。人一多就卡
    • 查得快:如果只读不写,他查目录找书特别快。
  • 适合几乎快被淘汰了。以前用在一些只记录、不修改的地方,比如网站的文章列表、日志记录。现在基本不推荐用他
3. Memory 管家 ——会议室的白板
  • 特点速度极快,但只是临时的
  • 他怎么管
    • 所有数据都写在内存(白板)上,读写速度像闪电。
    • 但是,一旦数据库重启(散会擦白板),所有数据就全没了
  • 适合临时存放、快速计算。比如临时存一下网站的在线用户列表。现在这个活通常交给更专业的“白板”——Redis(一种缓存数据库)来做。

一句话总结该选谁

  • 如果你在做一个正经的、需要保存数据的网站或应用,闭着眼睛选InnoDB
  • MyISAM 是过去式,知道有这么个人就行,别用了。
  • Memory 是临时工,有更专业的临时工(如Redis)代替。

核心对比

管家 (引擎)像什么最大优点最大缺点现在还用吗?
InnoDB银行经理安全、可靠、不怕乱相比MyISAM,纯读时稍占地方是,绝对主力
MyISAM老图书馆只读时查得快怕写、怕乱、一改就卡基本不用了
Memory白板速度飞快断电就丢很少用,有更好的替代品

最终结论:选InnoDB ,它是现在 MySQL 数据库的“标配”和唯一正确的选择。


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

接口测试|前端交互测试和后端逻辑测试

前端交互测试 前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。 测试准备 在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分: 什么功能属于前端页面逻辑功能 什么功能又属于前端与后端交…

作者头像 李华
网站建设 2026/4/15 5:48:55

代码覆盖率如何测试,需要用到哪些工具?

什么是代码覆盖率? 代码覆盖率衡量已测试代码的范围,有助于评估测试套件的质量。它识别测试期间未执行的区域,是白盒测试的一种形式。 代码覆盖率是用于评估测试期间源代码执行程度的指标。它量化了自动化测试所涵盖的代码的百分比&#xf…

作者头像 李华
网站建设 2026/4/15 7:17:48

PN学堂-《电子元器件》- 电阻

在基础电子元器件中,电阻是最常见也最“多变”的一类。除了固定阻值的标准电阻,还有一类被称为“敏感电阻”的特殊元件——它们的阻值会随着外界物理量(如温度、光照、电压等)的变化而动态调整。其中,热敏电阻、光敏电…

作者头像 李华
网站建设 2026/4/15 7:05:08

创建线程的五种写法

目录 1.继承Thread类,并重写run()方法 2.实现Runnable接口,并重写run()方法 3.使用匿名内部类,继承Thread类,重写run方法 4.使用匿名内部类,实现Runnable接口,重写run()方法 5.使用lambda表达式 1.继承…

作者头像 李华
网站建设 2026/4/3 4:31:13

15、Kubernetes 与 Docker 优化操作系统全解析

Kubernetes 与 Docker 优化操作系统全解析 一、Kubernetes 组件与 API 探索 Kubernetes 有众多组件,相关文件如下: - kube-apiserver.tar - kube-controller-manager - kube-controller-manager.docker_tag - kube-controller-manager.tar - kubectl - kubelet - ku…

作者头像 李华
网站建设 2026/4/15 3:10:02

17、Docker不同操作系统及工具使用指南

Docker不同操作系统及工具使用指南 1. 在AWS上启动Atomic实例以使用Docker 有时候,你可能既不想用Vagrant来尝试Atomic,也不想使用ISO镜像。这时可以在Amazon EC2上启动一个Atomic实例,因为AWS EC2上有可用的Atomic AMI。 具体操作步骤如下: 1. 打开AWS管理控制台,通过…

作者头像 李华