[2025.1.26 MySQL学习] 存储引擎

存储引擎

MySQL体系结构图

image

  • 从上至下分别为:
    • 连接层
    • 服务层
    • 引擎层(Index索引位于引擎层,即不同的存储引擎有不同的索引结构)
    • 存储层





存储引擎简介

  • 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式
  • 存储引擎是基于表的,而不是基于库的,所以也被称为表类型
  • 之前创建表时,也默认指定了ENGINE InnoDB(可用 show create table 表名 进行查看),即:

image

  • show engines:展示当前数据库支持的引擎





InnoDB

  • 是一种兼顾高可靠性和高性能的通用存储引擎
  • 特点:
    • DML操作(增删改)遵循ACID模型(事务四大特性),支持事务
    • 行级锁,提高并发访问性能
    • 支持外键FOREIGN约束,保证数据的完整性和正确性
    • 每一个InnoDB引擎表都会对应一个表空间文件:xxx.ibd,存储该表的表结构(frm、sdi)、数据和索引
    • 参数:innodb_file_per_table决定是多张表共用一个表文件,还是一个表使用一个表文件,使用ibd2sdi指令查看文件
    • 结构:

image

  • 其中我们创建的table中一行一行的数据,就是以row的形式存储在page中的





MyISAM和Memory

MyISAM

  • MySQL早期默认存储引擎
  • 不支持事务
  • 不支持外键
  • 支持表锁,不支持行锁
  • 访问速度快

Memory

  • 表数据存储在内存中(其他引擎表数据存储在磁盘),只能作临时表
  • 速度快
  • 支持hash索引





存储引擎选择

image

image

posted @   Luna-Evelyn  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示