MySQL 数据库工作流程和存储引擎

数据库工作流程

在这里插入图片描述

存储引擎的 定义

存储数据的格式和使用的性质,就是以什么方式存。
mysql中的存储引擎
在这里插入图片描述

InnoDB

支持事务,行级锁,外键

事务

当我要执行一段有相关性的代码,正常程序是开启事务,执行完后再关闭事务。但有时在执行过程中发生断网或数据库挂了,那么开始执行的都返回原位。这样保证了数据的安全。

行级锁

同时不同的人对同一个数据进行修改的情况是不允许的。
表级锁:myisam 一个人修改该表时,自动上锁。也就是同一张表中的数据不能同时被修改。
行级锁:同一张表中不同行的记录可以被同时修改。只有innodb是行级锁。其他都不是。
当需要频繁修改一张表时,就要用innodb。
所有对事务安全性高,频繁增删改查就用InnoDB

innodb示例

指定存储引擎新建表
默认存储引擎为Innodb创建表时生成了两个文件
在这里插入图片描述

MyISAM

既不支持事务,也不支持外键。其优势是访问速度快。因为如果有很多机制会影响效率。但是表级锁限制了它在读写负载方面的性能。只要是写读,性能都差。因此它经常应用于只读或以读为主的数据场景。

myisam示例

mysql> create table t5 (id int, name varchar(50)) engine = MyIsam;
在这里插入图片描述

Memory

数据都存在内存中,数据量小,并对服务器内存有要求,断电消失,如果数据库正常情况下重启了,数据消失。如果由于异常崩溃才断开。数据能恢复。
场景:用户登录状态。因为会随时更新。而如果存在硬盘上更新很慢,在内存上更新很快。且不是特别重要的数据,就可以放在Memory表里。

memory示例

在这里插入图片描述
重启服务器后在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 3687223 查看本文章

Blackhole

blackhole示例

在这里插入图片描述
虽然在表中插入了数据,但是没有显示,生成了日志。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42233629/article/details/82897663
今日推荐