前提:必须先设置自动提交功能为禁用
set autocommit=0#禁用事务
======================================================================
步骤1:开启事务
set autocommit=0;
start transaction;#可选的
步骤2:编写事务中的SQL语句(select insert update delete这几个才可以编写事务,比如drop等就不行)
语句1;
语句2;
…
步骤3:结束事务
commit;提交事务
rollback;回滚事务
savepoint 节点名;设置保存点
开启事务的语句;
update 表 set 张三丰的余额=500 where name=‘张三丰’
update 表 set 郭襄的余额=1500 where name=‘郭襄’
结束事务的语句;
=====================================================================
第一范式: 列不可再分
第二范式:属性完全依赖于主键
第三范式:属性不依赖于其他的非主属性,属性直接依赖于主键
=======================================================================
创建一个演示的表叫account
DROP TABLE IF EXISTS account;
CREATE TABLE account(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20),
balance DOUBLE
);
INSERT INTO account(username,balance)
VALUES(‘张无忌’,1000),(‘赵敏’,1000);
SELECT * FROM account
;
#演示事务的使用步骤
#步骤1
SET autocommit=0;
START TRANSACTION;#可选的
#步骤2
UPDATE account
SET balance
=1000 WHERE username
=‘张无忌’;
UPDATE account
SET balance
=1000 WHERE username
=‘赵敏’;
#步骤3
#commit;
ROLLBACK;
==============================================================================
- 事务并发问题是如何产生的?
- 当多个事务同时操作同一个数据库的相同数据时
- 事务并发问题
-
脏读:一个事务读取到了另外一个事务未提交的数据
-
不可重复读:同一个事务中,多次读取到的数据不一致
-
幻读:一个事务读取数据时,另外一个事务进行更新,导致第一个事务读取到了没有更新的数据
- 处理事务并发问题,设置事务隔离级别
-
READ UNCOMMITTED
-
READ COMMITTED:可以避免脏读
-
REPEATABLE READ:可以避免脏读、不可重复读和一部分幻读
-
SERIALIZABLE:可以避免脏读、不可重复读和幻读`
-
注意:隔离级别从小到大安全性越来越高,但是效率越来越低
-
设置隔离级别
- set session|global transaction isolation level 隔离级别名;
- 查看隔离级别
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结:绘上一张Kakfa架构思维大纲脑图(xmind)
其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
-
Kafka入门
-
为什么选择Kafka
-
Kafka的安装、管理和配置
-
Kafka的集群
-
第一个Kafka程序
-
Kafka的生产者
-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
[外链图片转存中…(img-mFDlwjhn-1711803743806)]
[外链图片转存中…(img-oespfEf7-1711803743807)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!