事务中的锁,行锁与表锁
来源:互联网 发布:数据中心网络拓扑结构 编辑:程序博客网 时间:2024/06/13 08:26
当执行事务时,相当于执行了锁,来保持数据的一致性,但是锁分多种,有行锁,表锁。行锁就是只锁定那一行,那一条记录,别的连接下的操作还可以操作这张表。表锁就是锁定整张表,只有当前连接执行完事务,才可以解锁。
就效率而然,当然是行锁好,适用与多线程和高并发的情况,不过行锁对数据库会带来额外的开销。表锁高并发就差一点了,但单个的话快一点。
以mysql为例,有索引并且使用了该索引当条件的时候就是行锁,没有索引的时候就是表锁。innodb
锁是对于别的连接来说,不是对于当前连接,即当前连可以一直不加rollback,commit,一路更新,但是别的连接就不行,必须等加了锁的连接释放(rollback,commit)后才能更新,插入
建议:对于插入操作,一般加表锁,但是对于修改和删除操作,最好加行锁,这样在高并发时,不用等太久
加锁方式:
select
update
更新操作,插入,删除操作,在事务中均属于加锁
0 0
- SQLServer中的事务与锁
- 数据库中的锁与事务
- MySQL中的事务与锁
- MySQL中的事务与锁
- 事务中的锁,行锁与表锁
- 事务中的锁,行锁与表锁
- Mysql事务中的锁,行锁与表锁
- 事务中的锁,行锁与表锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- SQL Server中的事务与锁
- mysql中的事务、锁与线程安全
- SQL Server中的事务与锁
- leetcode--SurroundedRegions
- 下周沪深两市限售股解禁市值约710亿元
- GoAhead初探
- 这几年阿里巴巴都对印度做了些什么?
- Assembly 调用的目标发生了异常
- 事务中的锁,行锁与表锁
- LeetCode_60---Permutation Sequence
- 中国发展互联网+制造业的未来:打破企业边界
- C++学习备忘录=>持续更新
- 字符串
- forstner算子和Moravec角点检测算子
- leetcode-27Remove Element
- 【Arduino学习笔记】蓝牙控制手自两用避障车
- Java常见的queue(队列)类测试