MySQL 存储引擎

2020-11-22 12:37 PHP在线

MySQL 的存储引擎

  • Archive:用于数据存档的引擎(数据行被插入后就不能再修改了)。非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差

  • BDB:源自 Berkeley DB,事务型数据库的另一种选择,支持 COMMIT 和 ROLLBACK 等其他事务特性

  • BlackHole:黑洞引擎(写操作是删除数据,读操作是返回空白记录)。由于写入的任何数据都会消失。一般用于记录 binlog 做复制的中继

  • CSV:逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .CSV 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引

  • Example:实例(存根)存储引擎。官方实例

  • Falcon:用来进行事务处理的存储引擎

  • Federated:用来访问远程数据表的存储引擎。将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

  • InnoDB:具备外键支持功能的事务处理引擎。MySQL-5.5 版本后 MySQL 的默认数据库引擎,是专为事务设计的存储引擎,支持 ACID 事务,支持外键和行级锁定,拥有高并发处理能力。但是,InnoDB 在创建索引和加载数据时,比 MyISAM 慢

  • Memory:内存引擎。所有数据置于内存,表结构不是存储在内存中的存储引擎,查询时不需要执行磁盘 I/O 操作,所以要比 MyISAM 和 InnoDB 快很多倍。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失,表结构不会丢失

  • Merge/MRG_MYISAM:管理由多个 MyISAM 数据表构成的数据表集合。将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用

  • MyISAM:不支持事务和行级锁,所以 MyISAM 引擎速度很快,性能优秀。MyISAM 可以对整张表加锁,支持并发插入,支持全文索引

  • NDB/ClusterMySQL Cluster 专用存储引擎。高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

  • PERFORMANCE_SCHEMA:Performance Schema

查看数据库支持的引擎

SHOW ENGINES;


本文章转载自公众号:phpdaily

首页 - PHP 相关的更多文章: