MySQL支持多种存储引擎,主要有:
- InnoDB:默认的MySQL存储引擎,支持事务、回滚、崩溃恢复能力,适合在线事务处理。
例如:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(20)
) ENGINE=InnoDB;
- MyISAM:早期默认的MySQL存储引擎,不支持事务和回滚,所以速度比InnoDB更快,适合业务报表统计。
例如:
CREATE TABLE stats (
id INT,
name VARCHAR(20)
) ENGINE=MyISAM;
- MEMORY:数据存储在内存中,查询速度极快,不支持持久化,重启数据库数据消失。适合频繁修改的中间表。
例如:
CREATE TABLE cache (
id INT,
name VARCHAR(20)
) ENGINE=MEMORY;
- CSV:以CSV格式存储数据,不支持索引,查询速度较慢。适合导入和导出数据。
例如:
CREATE TABLE csvdata (
id INT,
name VARCHAR(20)
) ENGINE=CSV;
- ARCHIVE:高度压缩表数据,不支持索引,查询和更新速度较慢。适合日志和历史数据的存储。
例如:
CREATE TABLE logs (
id INT,
log TEXT
) ENGINE=ARCHIVE;