【MySQL】存储引擎

1、InnoDB引擎

具备外键支持的事务存储引擎

  • InnoDB是MySQL的默认事务型引擎,被设计用来处理大量短期事务。可以确保事务的完整提交和回滚

  • 在有更新和删除操作时,优先选择InnoDB

  • InnoDB是为处理巨大数据量的最大性能设计的。

  • 数据文件结构:

    • 表名.frm 存储表结构

    • 表名.idb 存储索引和数据

2、MyISAM引擎

主要的非事务处理存储引擎

  • 不支持事务、行级锁、外键,且崩溃后无法安全恢复
  • 访问的速度快,对事务完整性没有要求
  • 数据文件结构:
    • 表名.frm存储表结构
    • 表名.MYD存储数据
    • 表名.MYI存储索引

3、对比

  • 对比MyISAM,InnoDB写的处理效率差一点,占用更多的磁盘空间来保存数据和索引。
  • MyISAM只缓存索引,不缓存真实数据。InnoDB不仅缓存索引还缓存真实数据,对内存要求较高
相关推荐
lsc_blog5 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘
FungLeo8 小时前
成为全栈·基础补充·数据库迁移与事务:数据结构怎样安全演进
mysql·postgresql·sqlite·数据一致性·数据库事务·数据库迁移·成为全栈
Zan13 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶14 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan14 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB15 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹15 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen16 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶17 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范