mysql存储引擎

存储引擎

MySQL体系结构

在这里插入图片描述
(1)连接层
最上层是一些客户端和链接服务。主要是完成类似于连接处理,授权认证等
(2)服务层
SQL接口,完成缓存的查询,SQL的分析和优化,部分内置函数执行。跨存储引擎功能实现,解析器,查询优化器,缓存等等。
(3)引擎层
负责MySQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同功能。
(4)存储层
将数据、索引、日志文件存储在文件系统中

存储引擎介绍

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于数据库的。
默认存储引擎是InnoDB

  • 查询数据库支持的存储引擎
show engines ;

在这里插入图片描述

存储引擎特点

  • InnoDB
    (1)介绍
    InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎

    (2)特点

    1. DML操作遵循ACID模型,支持事务
    2. 行级锁,提高并发性能
    3. 支持外键FOREIGN KEY约束,保证数据完整,正确

    (3)文件
    XXX.ibd,innoDB引擎的每张表都会对应一个表空间文件,用来存储表的表结构、数据和索引

    (4)逻辑存储结构
    TableSpect:表空间
    InnoDB存储引擎逻辑结构最高层,ibd文件就是表空间文件,在其中有多个Segm3
    Segment:段
    表空间由多个段组成,一个段中由多个区
    Extent:区
    一个区中有64个连续的页
    Page:页
    也是InnoDB存储引擎磁盘管理最小单元
    Row:行
    InnoDB存储引擎面向列的,数据按行进行存放

  • MyISAM
    (1)介绍
    MySQL早期默认存储引擎
    (2)特点
    不支持事务,不支持外键
    支持表锁,不支持行锁
    (3)文件
    .sdi:存储表结构信息
    .MYD:存储数据
    .MYI:存储索引

  • Memory
    (1)介绍
    Memory引擎的表数据存储在内存中,一些断电问题,会导致数据丢失,只能作为临时表使用

(2)特点
内存存放
(3)文件
.sdi:存储表结构信息

区别及其特点

InnoDB支持事务安全,支持表锁,行锁,支持外键
MyISAM不支持事务,支持表锁,不支持行锁,不支持外键

存储引擎选择

  • InnoDB:默认存储引擎,支持事务,外键,事务完整性比较高的要求,并发条件数据一致性,除插入和查询,还有更新,删除,适合它

  • MyISAM:读和插入操作为主,很少更新和删除,事务完整,并发性要求不高,适合它

  • MEMORY:数据保存在内存中,访问速度快,临时表缓存,太大的表无法在内存缓冲

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值