MySQL默认存储引擎为InnoDB,支持ACID事务、行级锁、外键及MVCC;MyISAM适用于读多写少场景,仅支持表锁和全文索引;MEMORY引擎纯内存存储,重启丢失;ARCHIVE、CSV、FEDERATED、BLACKHOLE用于归档、交换、远程访问或日志中继等特定用途。

MySQL 支持多种存储引擎,每种针对不同使用场景设计。当前主流版本(MySQL 5.5 及以后)默认使用 InnoDB,但你仍可按需为单个表指定其他引擎。
InnoDB:事务型应用的默认选择
它是 MySQL 的默认引擎,适用于绝大多数业务场景,尤其强调数据一致性与高并发写入。
- 支持完整的 ACID 事务、崩溃自动恢复(通过 redo log)、行级锁和外键约束
- 使用聚簇索引组织数据,主键即物理存储顺序;二级索引中包含主键值,因此主键不宜过大
- 支持 MVCC(多版本并发控制),在 REPEATABLE-READ 隔离级别下可避免幻读
- 适合电商订单、用户账户、金融类等强一致性要求的系统
MyISAM:读多写少的轻量场景
虽已非默认,但在某些只读或低并发分析类场景仍有价值。
- 不支持事务、外键和行锁,仅支持表级锁,高并发写入时易阻塞
- 支持全文索引(FULLTEXT),适合简单搜索引擎或日志归档查询
- 数据文件(.MYD)与索引文件(.MYI)分离,可单独优化存放路径
- 适合报表缓存表、历史统计快照、静态配置表等读远大于写的场景
MEMORY(Heap):纯内存临时数据
所有数据驻留在内存中,速度极快,但服务重启即丢失。
NetShop软件特点介绍: 1、使用ASP.Net(c#)2.0、多层结构开发 2、前台设计不采用任何.NET内置控件读取数据,完全标签化模板处理,加快读取速度3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录5、后台内置强大的功能,整合多家网店系统的功能,加以优化。6、支持三种类型的数据库:Acces
- 不支持事务,仅支持哈希索引(默认)或 B-Tree 索引(需显式声明)
- 适合中间计算结果、会话缓存、临时 JOIN 表或快速去重临时表
- 注意内存限制:表大小受 max_heap_table_size 参数控制,超限会报错
ARCHIVE 和其他辅助引擎
这些引擎面向特定目的,不用于主业务表。
- ARCHIVE:高压缩比、仅支持 INSERT/SELECT,无索引,适合长期归档日志、审计记录
- CSV:以文本 CSV 格式存数据,便于外部程序直接读取,但无事务、无索引、性能差
- FEDERATED:不存数据,只代理访问远程 MySQL 表,依赖网络,不支持事务
- BLACKHOLE:写入即丢弃,常用于复制拓扑中的“日志中继”或压力测试
查看当前支持的引擎可用 SHOW ENGINES;,查默认引擎用 SELECT @@default_storage_engine;。建表时加 ENGINE=InnoDB 显式指定,已有表可通过 ALTER TABLE t ENGINE=MyISAM; 修改。









