首页 > 数据库 >Mysql、(三) 体系结构与存储引擎

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

时间:2023-02-24 21:23:32浏览次数:33  
标签:存储 SQL 事务 引擎 MyISAM 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表的形式,将多个表分布在不同的磁盘上,适合用于数据仓储等情况。

标签:存储,SQL,事务,引擎,MyISAM,Mysql,组件,体系结构
From: https://www.cnblogs.com/istitches/p/17153171.html

相关文章

  • Mysql、(四) 索引优化
    @目录一、查看SQL执行频率二、定位低效率执行SQL1.showprocesslist:2.慢查询日志三、SQL中JOIN四、explain性能分析五、索引优化1)单表索引优化2)两表索引优化3)......
  • Mysql、(五) 千万级数据批量插入
    @目录一、开启函数创建错误日志二、创建sql脚本1)创建函数2)创建存储过程3)调用存储过程一、开启函数创建错误日志查看是否开启:showvariableslike'%log_bin......
  • Mysql、(二) 索引
    @目录一、索引概述二、索引的优势劣势三、索引结构BTREE索引B+TREE索引1.结构介绍2.Mysql中的B+树四、索引分类4.1InnoDB_聚簇索引聚簇索引的优点:聚簇索引的缺点:4.2In......
  • Vue3中url传递参数通过全局前置守卫接收参数,利用store存储并控制DOM显示或隐藏(记录一
    业务场景:根据路由传递的标志eg:hidden来控制侧边栏和横条显示或隐藏核心代码:<a-layout-headerclass="header"v-if="!(parseInt(hidden)===1?true:false)">......
  • MySQL备份---还原
    1.全量备份(数据+结构)#mysqldump-uroot-p123456-A>备份文件路径2.指定库备份(数据+结构)#mysqldump-uroot-p123456库名>备份文件路径3.多个库备份(数据+结构)#mysqld......
  • mysql主从自动搭建
    1.主服务器​​master.sh​​#!/bin/bash#====================================================#Author:Mr.Song#CreateDate:2019-02-21#Description:autoconfig......
  • 阿里云ACP学习笔记-负载均衡SLB-弹性伸缩AS-对象存储OSS
    9负载均衡SLBECS+SLB+AS CDN              协议支持:  SSL证书管理:       10弹性伸缩AS 11对象存储OSS ......
  • EasyCVR使用S3存储正常,重启服务器后不能启动是什么原因?
    EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力。平台可支持多协议、多类型设备接入,包括国标GB28181、RTMP、RTSP/Onvif、海康SDK、大华SDK、海......
  • mysql半同步
    什么是半同步复制所谓的半同步复制就是master主服务器每commit一个事务(简单来说就是做一个改变数据的操作),要确保slave从服务器接收完主服务器发送的binlog日志文件并写入......
  • MySQL数据库架构&SQL注入漏洞
    1.查找zblog数据库中有哪些表查找目标表(zbp_member)中的的字段查找目标表中的目标数据(管理员的用户名密码)4.使用UNION语句替换掉原有查询结果,显示zblog数据库中的所有表。网......