当前位置:网站首页>事务、存储引擎
事务、存储引擎
2022-08-10 05:31:00 【hagong9】
目录
事物有什么用?
如上图,用以前的知识来实现这个需求是没问题的,但是如果出现了 第一条语句执行成功,第二条语句没成功的情况,那么会凭空消失100元 ,要想杜绝这个问题,就应该把这两条语句变成一组语句,要么都成功,要么都失败。这个时候就要用事物来解决。
事物操作演示
-- 事物操作演示
-- 1,创建一个演示表
CREATE TABLE demo
(id INT,
`name` VARCHAR(10))
-- 2.开始事物
START TRANSACTION
-- 3.设置保存点
SAVEPOINT a
-- 4 dml操作
INSERT INTO demo
VALUES (1,'张三')
-- 5,设置第二个保存点
SAVEPOINT b
-- 6.再执行dml操作,这里再插入一条消息
INSERT INTO demo
VALUES (2,'李四')
-- 7.查询下现在的demo表
SELECT * FROM demo
】
回退到某个保存点
-- 8.回退到保存点b
ROLLBACK TO b
-- 9.再次查询demo表
SELECT * FROM demo
这个保存点就和游戏的存档差不多,选择想要的存档进行读档操作。
其中如果出现没法回档的情况,是因为表的引擎不是INNODB 需要在创建表的时候指定或在设计表中更改。
事物细节
事物中的隔离级别
简单解释,现在有两个连接,A和B
两个人开启事物,A连接修改数据库,但未提交,这时B查询了一下数据库,结果读到了A修改的数据,这就是脏读。
A对数据库进行修改和删除(插入),也提交了,但是b未提交自己的,正常情况下B看到的应该是开始事物时的数据库数据,结果查询数据库时却看到的是被a影响的数据库,这就是不可重复读。(幻读)。
加锁的意思是,同一时间只能有一个连接对数据库进行超支,比如,A对数据库进行修改,但是未提交,这时B查询数据库,就会卡在查询语句上,不执行
设置隔离级别
事物ACID
存储引擎
使用show engines 来查看所有的引擎
使用 alter table `表名` engines = xxxxx 来修改表的引擎
主要引擎的特点
边栏推荐
猜你喜欢
动手写prometheus的exporter-02-Counter(计数器)
Read the excerpt notes made by dozens of lightweight target detection papers for literacy
链读|最新最全的数字藏品发售日历-08.02
链读好文:Jeff Garzik 推出 Web3 制作公司
tinymce富文本编辑器
8.STM32F407之HAL库——PWM笔记
Error when installing oracle rac 11g and executing root.sh
网安超基础一周目
25张炫酷交互图表,一文入门Plotly
.las转.txt 再转.pcd,编译运行中出现的错误
随机推荐
基于Qiskit——《量子计算编程实战》读书笔记(六)
R语言:修改chart.Correlation()函数绘制相关性图——完美出图
作业实验四
How does Jenkins play with interface automation testing?
树莓派入门(4)LED闪烁&呼吸灯
SSM框架整合实例
文章复现:超分辨率网络-VDSR
Interface debugging also can play this?
el-dropdown下拉菜单样式修改,去掉小三角
cesium 旋转图片
PyTorch 入门之旅
第十天作业
你不知道的常规流
Qiskit 学习笔记1
反转链表中的第m至第n个节点---leetcode
使用Google Protobuf 在 Matlab 中工作
SEO搜索引擎优化
pytorch框架学习(9)torchvision.transform
智能合约和去中心化应用DAPP
基于Qiskit——《量子计算编程实战》读书笔记(一)