Mysql、(三) 体系结构与存储引擎


一、Mysql体系结构概览

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
整个 MYSQL Server由以下组成:

  • Connection Pool: 连接池组件,接收请求后开启一个线程进行相关的认证授权操作后,再进行相关请求的处理;
  • Management Service & Utilities:管理工具和服务组件;主要进行数据的备份与恢复。
  • SQL Interface:SQL组件接口;主要进行相关的DML语句、DDL语句、存储过程、视图、触发器等封装。
  • Parser:查询分析器组件;主要进行SQL语句的解析。
  • Optimizer:优化器组件;主要进行SQL语句的优化处理。
  • Caches & Buffers:缓冲池组件;查询缓存中是否有对应的数据,存在的话直接返回即可。
  • Pluggable Storage Engines:存储引擎。负责MySQL中数据的存储和提取。
  • File System:文件系统 。将数据存储到文件系统之上,并完成与存储引擎的交互。

四层结构:
在这里插入图片描述
MySQL与其它数据库相比,主要差异体现在它的存储引擎上,插件式的存储引擎架构,将查询处理和其它系统任务以及数据的存储提取和分离。这种架构可以根据实际需要切换存储引擎。

二、存储引擎概述

存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式。存储引擎是基于表的,而不是基于库的。所以存储引擎可以被称为表类型。

查看数据库全部的存储引擎: show engines;
在这里插入图片描述
查看默认的存储引擎:show variables like '%storage_engine';
在这里插入图片描述

三、各种存储引擎特性

在这里插入图片描述
在这里插入图片描述

  • innoDB 支持事务、行锁、外键;
  • innoDB是唯一支持外键的存储引擎;
  • innoDB 的事务控制:
create table if not exists `goods_innodb`(
    id int not null auto_increment,
    name varchar(20) not null,
    primary key(id)
) engine=innodb default charset=utf8;


# 开启事务
start transaction;
insert into goods_innodb(id,name)  values(null,'zhangsan');
commit;

1. Innodb存储引擎的存储方式

在这里插入图片描述

2.MyISAM存储引擎的特性

  1. 简介:
    MyISAM 不支持事务、外键,且为表锁。但是它的优势是访问速度快,对事务的完整性没有要求或者以 SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。
  2. 两个重要的特点:
  • 不支持事务
  • 文件存储模式
    在这里插入图片描述

3. 存储引擎的选择

在这里插入图片描述
对安全性、事务的完整性要求比较高的时候选择 InnoDB;如果多数情况下只是读取和插入操作,很少用到删除和更新操作,那么选择 MyISAM 存储引擎会更快一些;Memory 将数据保存在内存中,通常用于更新频率不太频繁的小表,用于快速得到访问结果;MERGE就是一组MyISAM表的形式,将多个表分布在不同的磁盘上,适合用于数据仓储等情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值