前两天面试,问到了四种隔离级别,当时觉得大多数数据库都为read committed,结果没想到mysql是个例外。在此做一下隔离级别和各种数据库锁的使用。 首先说一下ACID四大特性: 四大特性 · 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联 ...
分类:
数据库 时间:
2019-01-15 22:06:20
阅读次数:
211
在MySQL的InnoDB中,预设的Tansaction isolation level 为REPEATABLE READ(可重读) 在SELECT 的读取锁定主要分为两种方式: SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE 这两种方式在事务 ...
分类:
数据库 时间:
2019-01-15 18:29:32
阅读次数:
136
当在MySQL中使用事务,回滚后 ,会出现先自增id不连续的情况,解决:执行: ALTER table tableName AUTO_INCREMENT=1; 在回滚后都重置AUTO_INCREMENT的值。 注意:最好先了解MySQLl事务。 ...
分类:
数据库 时间:
2019-01-14 16:32:49
阅读次数:
309
事务定义 事务是访问并更新数据库中各个数据项的一个程序执行单元。在事务操作中,要不都做修改,要么都不做。 事务特性 事务具有ACID四个特性,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 原子性 原子性是指要么 ...
分类:
数据库 时间:
2019-01-05 15:18:01
阅读次数:
176
事务:当然有的人用begin/beginwork.推荐用STARTTRANSACTION是SQL-99标准启动一个事务。starttransaction#开始一个事务操作savepointsp1#保存点名称操作??ROLLBACKROLLBACKTosp1#回退到sp1点commit当用setautocommit=0的时候,你以后所有的sql都将作为事务处理,直到你用commit确认或rollba
分类:
数据库 时间:
2019-01-03 20:39:35
阅读次数:
178
日常维护中,经常会碰到线程被阻塞,导致数据库响应非常慢,下面就看看如何获取是哪个线程导致了阻塞的。 blog地址:http://blog.csdn.net/hw_libo/article/details/39080809 1. 环境说明RHEL 6.4 x86_64 + MySQL 5.6.19事务 ...
分类:
数据库 时间:
2018-12-31 17:15:09
阅读次数:
234
事务,我们都知道具有原子性,操作要么全部成功,要么全部失败。但是有可能会造成误解。 我们先准备一张表,来进行测试 一、如果事务中,有某条sql语句执行时报错了,我们没有手动的commit,那整个事务会自动回滚吗? 答案:会。 当我们直接把窗口关掉,新开窗口再去查询表name时,表中没有第一次插入的记 ...
分类:
数据库 时间:
2018-12-27 15:26:16
阅读次数:
279
1.mysql事务有4个隔离级别,以及会出现的问题如下图: 2. 脏读: 开启事务A,B。事务A在还没有提交的情况下,假如第一次查询id=1的用户的age=24。事务B执行了update 表 set age = 100 where id = 1; B事务并没有提交,紧接着再次查询id=1的用户的ag ...
分类:
数据库 时间:
2018-12-25 15:20:37
阅读次数:
169
OLTP:online transaction process 在线事务处理 事务: ACID A:atomic 原子性 C: consistent 一致性 I:isolation 隔离性 D: durability 持久性 1读未提交 脏读 //事务一写入数据,事务二进行读取,事务一进行回滚2读已 ...
分类:
数据库 时间:
2018-12-22 15:04:39
阅读次数:
249
事务用于将某些操作的多个SQL作为原子性操作,也就是这些sql语句要么同时成功,要么都不成功,事务的其他特性在我第一篇博客关于事务的介绍里面有,这里就不多做介绍啦,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。 简单来说:我给一个姑娘转账,姑娘那儿收到了200,你的账户上扣了 ...
分类:
数据库 时间:
2018-12-12 22:08:54
阅读次数:
241