数据库存储引擎简单介绍

存储引擎(Storage Engine)

存储引擎是数据库管理系统中复杂处理数据的存储、检索、更新和管理的核心组件。不同的存储引擎具有不同的特性,适用于不同的应用场景。选择合适的存储引擎可以显著影响数据库的性能、可靠性和功能。

常见存储引擎:InnoDB,MyISAM

image-20250310145727392

在大多数互联网公司开发使用的存储引擎都是InnoDB,而在MySQL中默认建表都是InnoDB,想要指定存储引擎可以通过ENGINE来指定,语法如下:

CREATE TABLE table_name (
    ......
) ENGINE=MyISAM;

InnoDB特点:

  • 默认的存储引擎:互联网公司一般都使用该引擎
  • 支持事务管理
  • 支持物理外键(现在开发一般采用逻辑外键)
    • 补充:【物理外键是为了遵循设计数据库三范式时采用的,如今的数据表一般不会存心三范式,基本都会有冗余字段来提高查询效率】
  • 天生支持行锁,手动支持表锁
  • 使用聚簇(集)引擎
    • 索引和数据在同一个文件,表面.ibd
    • image-20250310151954276
    • 只有主键索引是聚簇索引,其他索引都是非聚簇索引

MyISAM特点:

  • 不支持事务,不支持外键
  • 只支持表锁,不支持行锁
  • 使用非聚簇索引
    • 索引和数据不在同一个文件
    • image-20250310153334798
posted @ 2025-03-10 15:34  zhangfff  阅读(97)  评论(0)    收藏  举报