存储引擎
# 存储引擎
MySql 支持的存储引擎有很多,常用的有三个
- InnoDB :支持事务和外键 支持并发控制 占用磁盘空间大 MySQL 5.5 及其之后默认为这个引擎。
- MyISAM:MySQL 5.5 之前默认为这个引擎,访问速度快,但 MyISAM 不支持事务、行级锁、外键。
- MEMORY:内存存储 速度快 不安全,采用的逻辑介质是内存,响应速度很快,但是当守护进程崩溃的时候数据会丢失。另外,要求存储的数据是数据长度不变的格式,比如, Blob 和 Text 类型的数据不可用(长度不固定的)。
- MRG_MyISAM:在 MySQL 中用来水平分表。 MRG_MYISAM 引擎要求关联的子表都是 MYISAM 类型。
- CSV:存储数据时,以逗号分隔各个数据项。 CSV 引擎可以将普通的 CSV 文件作为 MySQL 的表来处理, 但不支持索引。
- Federated:Federated 引擎是访问其他 MySQL 服务器的一个代理,尽管该引擎看起来提供了一种很好的跨服务器的灵活性,但也经常带来问题,因此默认是禁用的。
- performance_schema:performance_schema 数据库中的表使用的是 performance_schema 存储引擎,该数据库主要关注 mysql 运行过程中的性能相关的数据。
- ndbinfo:MySQL 集群专用存储引擎, ndbinfo 是一个数据库,其中包含特定于 NDB Cluster 的信息,该数 据库包含许多表,每个表提供有关 NDB 群集节点状态,资源使用情况和操作的不同类型的数据。
- blackhole:BLACKHOLE 引擎没有任何存储机制,对于插入的数据会直接丢弃,但服务器会记录其日志,可用于复制数据到备库或者简单地记录日志。
- archive:ARCHIVE 储存引擎的应用场景就是它的名字的缩影,主要用于归档, ARCHIVE 存储引擎仅支持 SELECT 和 INSERT ,最出众的是插入快,查询快,占用空间小。
- ndbcluster:NDB 存储引擎也叫 ndbcluster 存储引擎,主要用于 MySQL Cluster 分布式集群环境, Cluster 是 MySQL 从 5.0 版本才开始提供的新功能。

-- 查询数据支持的存储引擎
show engines;
-- 查询某个库中所有数据表的存储引擎
show table status from 库名;
-- 查询指定库中指定表的引擎
show table status from 库名 where name ="表名";
-- 创表时 指定存储引擎
create table 表名(列名 数据类型)engine = 引擎名;
-- 修改表 存储引擎
alter table 表名 engine = 引擎名;
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10

编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48