【MySQL】存储引擎

1、InnoDB引擎

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

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

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

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

  • 数据文件结构:

    • 表名.frm 存储表结构

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

2、MyISAM引擎

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

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

3、对比

  • 对比MyISAM,InnoDB写的处理效率差一点,占用更多的磁盘空间来保存数据和索引。
  • MyISAM只缓存索引,不缓存真实数据。InnoDB不仅缓存索引还缓存真实数据,对内存要求较高
相关推荐
安当加密11 分钟前
多云部署下数据库加密如何统一管密钥?一个跨阿里云、腾讯云、AWS 的 KMS 实践
数据库·阿里云·腾讯云
Larry_Yanan14 分钟前
Qt安卓开发(二)摄像头打开
android·开发语言·数据库·c++·qt·ui
rgeshfgreh29 分钟前
Python连接KingbaseES数据库全指南
开发语言·数据库·python
小北方城市网33 分钟前
数据库性能优化实战指南:从索引到架构,根治性能瓶颈
数据结构·数据库·人工智能·性能优化·架构·哈希算法·散列表
TDengine (老段)35 分钟前
TDengine Go 语言连接器进阶指南
大数据·数据库·物联网·golang·时序数据库·tdengine·涛思数据
何中应38 分钟前
使用Spring自带的缓存注解维护数据一致性
java·数据库·spring boot·后端·spring·缓存
ZeroToOneDev38 分钟前
Mybatis
java·数据库·mybatis
野犬寒鸦44 分钟前
从零起步学习RabbitMQ || 第一章:认识消息队列及项目实战中的技术选型
java·数据库·后端
枫叶丹41 小时前
【Qt开发】Qt系统(六)-> Qt 线程安全
c语言·开发语言·数据库·c++·qt·安全
HalvmånEver1 小时前
Linux:深入剖析 System V IPC上(进程间通信八)
linux·运维·数据库·c++·system v·管道pipe