12-MySQL的引擎有几种

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  阅读(102)  评论(0编辑  收藏  举报