MySQL引擎
1、InnoDB存储引擎
- InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁和外键,InnoDB是默认的MySQL引擎
2、MylSAM存储引擎
- MyISAM 基于 ISAM 存储引擎,并对其进行扩展
- 它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一
- MyISAM 拥有较高的插入、查询速度,但不支持事物
3、MEMORY存储引擎
- MEMORY 存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问
4、NDB存储引擎
- DB 存储引擎是一个集群存储引擎,类似于 Oracle 的 RAC,但它是 Share Nothing 的架构,因此能提供更高级别的高可用性和可扩展性。
- NDB 的特点是数据全部放在内存中,因此通过主键查找非常快
- PS
- 关于 NDB,有一个问题需要注意,它的连接(join)操作是在 MySQL 数据库层完成,不是在存储引擎层完成
- 这意味着,复杂的 join 操作需要巨大的网络开销,查询速度会很慢
5、Memory(Heap)存储引擎
- Memory 存储引擎(之前称为 Heap)将表中数据存放在内存中,如果数据库重启或崩溃,数据丢失,因此它非常适合存储临时数据
6、Archive存储引擎
- 正如其名称所示,Archive 非常适合存储归档数据,如日志信息。它只支持 INSERT 和 SELECT 操作,其设计的主要目的是提供高速的插入和压缩功能
7、Federated存储引擎
- Federated 存储引擎不存放数据,它至少指向一台远程 MySQL 数据库服务器上的表,非常类似于 Oracle 的透明网关
8、Maria存储引擎
- Maria 存储引擎是新开发的引擎,其设计目标是用来取代原有的 MyISAM 存储引擎,从而成为 MySQL 默认的存储引擎
小结
- 上述引擎中,InnoDB 是事务安全的存储引擎,设计上借鉴了很多 Oracle 的架构思想,一般而言,在 OLTP应用中,InnoDB 应该作为核心应用表的首先存储引擎
- InnoDB 是由第三方的 Innobase Oy 公司开发,现已被Oracle 收购,创始人是 Heikki Tuuri,芬兰赫尔辛基人,和著名的 Linux 创始人 Linus 是校友
posted @
2022-08-02 14:01
OnlyOnYourself-Lzw
阅读(
134)
评论()
编辑
收藏
举报