当前位置: 首页> 教育> 培训 > 湛江市品牌网站建设怎么样_hao123文件在哪里_站长之家官网_上海企业seo

湛江市品牌网站建设怎么样_hao123文件在哪里_站长之家官网_上海企业seo

时间:2025/7/11 15:20:01来源:https://blog.csdn.net/m0_73748193/article/details/147192774 浏览次数:0次
湛江市品牌网站建设怎么样_hao123文件在哪里_站长之家官网_上海企业seo

一、什么是存储引擎?

存储引擎(Storage Engine)是 MySQL 中负责数据存储与管理的底层模块。不同的存储引擎负责处理表的读写、索引维护、事务支持、崩溃恢复等机制。

在创建表时可以指定使用的存储引擎:

CREATE TABLE user (id INT PRIMARY KEY,name VARCHAR(100)
) ENGINE=InnoDB;

二、常见存储引擎对比

特性InnoDBMyISAMMemoryArchive
是否支持事务✅ 是❌ 否❌ 否❌ 否
是否支持行锁✅ 行级锁❌ 表级锁❌ 表级锁❌ 表级锁
是否支持崩溃恢复✅ 崩溃后自动恢复❌ 手动恢复❌ 数据易丢失❌ 只支持追加
是否支持外键✅ 支持❌ 不支持❌ 不支持❌ 不支持
适合场景业务系统(更新频繁)读多写少、统计类系统临时数据、查询速度快日志归档、大批量插入

在这里插入图片描述


三、InnoDB 引擎(重点)

MySQL 5.5 之后默认存储引擎,支持事务、行锁、崩溃恢复、外键

✅ 优势:

  1. 事务支持(ACID 保证,支持回滚)
  2. 行级锁,并发能力强
  3. MVCC(多版本并发控制),提升读性能
  4. 崩溃恢复机制:WAL 日志机制(Redo、Undo)
  5. 聚簇索引:主键就是数据页

四、MyISAM 引擎(旧时代的代表)

📌 适合读多写少的统计类场景,如 BI、日志、历史归档表

特点:

  • 不支持事务、外键
  • 只支持表级锁
  • 支持全文索引(较早期版本)
  • 索引文件(.MYI)和数据文件(.MYD)分离,拷贝方便

问题:

  • 崩溃后恢复困难(不可靠)
  • 写性能差,读锁容易阻塞写

五、Memory 引擎(内存表)

🚀 适合高速临时数据处理,如缓存表、临时计算结果

特点:

  • 所有数据存储在内存中,重启即失效
  • 表级锁
  • 索引只支持哈希索引(默认)

场景:

  • 排行榜、会话缓存、实时统计

六、Archive 引擎(归档表)

📦 适合归档大量插入数据,但几乎不查询的场景

特点:

  • 仅支持 INSERTSELECT
  • 不支持 UPDATEDELETE
  • 数据压缩存储,节省空间
  • 不支持索引(MySQL 5.1 开始支持主键索引)

七、其它存储引擎(了解即可)

引擎名说明
CSV表数据以 CSV 文件保存,便于导出导入
Federated支持跨 MySQL 实例远程表访问
Blackhole所有写入都被“吞掉”,常用于日志流转

八、如何查看支持的存储引擎?

SHOW ENGINES;

如何修改默认存储引擎?

[mysqld]
default-storage-engine=InnoDB

九、总结建议与面试技巧

🧠 面试常见问法:

  1. InnoDB 与 MyISAM 有哪些区别?(功能 + 底层)
  2. InnoDB 为什么适合高并发写操作?
  3. 聚簇索引与非聚簇索引的底层实现?
  4. 使用 Memory 引擎时需要注意哪些问题?
  5. 什么时候你会选择 MyISAM 或 Archive?
关键字:湛江市品牌网站建设怎么样_hao123文件在哪里_站长之家官网_上海企业seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: