实验环境: mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理 ...
分类:
数据库 时间:
2018-07-26 21:11:35
阅读次数:
217
对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行 ...
分类:
数据库 时间:
2018-07-22 19:20:48
阅读次数:
195
SQL Server中的锁分为两类: 共享锁 排它锁 锁的兼容性:事务间锁的相互影响称为锁的兼容性。 SQL Server中可以锁定的资源包括:RID或键(行)、页、对象(如表)、数据库等等。 在试图修改数据(增删改)时,事务会请求数据资源的一个排它锁而不考虑事务的隔离级别。排它锁直到事务结束才会解 ...
分类:
数据库 时间:
2018-07-15 17:38:37
阅读次数:
344
乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 例如: 有这样一个表: 每次更新时update在条件后再附加一个时间为条件: 因为如果并发操作,同一刻 ...
分类:
数据库 时间:
2018-07-11 17:12:23
阅读次数:
250
一、并发访问控制 实现的并发访问的控制技术是基于锁; 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁;InnoDB支持表级锁和行级锁; 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其他的人可以读;写锁也称为独占锁或排它锁,一个写锁会阻塞其他读操作和写操作; 锁还分为隐式锁和显式锁, ...
分类:
系统相关 时间:
2018-06-15 21:49:40
阅读次数:
206
原文:sql server 死锁排查 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。 现总结下查看死锁的常用二种方式: 第一种是图形化监听: sqlserver -->工具--> sql server profiler 登录后在跟踪属性... ...
分类:
数据库 时间:
2018-05-19 10:36:50
阅读次数:
209
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, ...
分类:
其他好文 时间:
2018-05-18 01:20:32
阅读次数:
150
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, ...
分类:
其他好文 时间:
2018-04-18 14:23:26
阅读次数:
190
事务的基本构成: begin transation update 支付表 set 账户总额 = 账户总额 - n where 账户名 = 'A' update 支付表 set 账户总额 = 账户总额 + n where 账户名 = 'B'commit成功则commit失败则rollback 事务进行 ...
分类:
数据库 时间:
2018-02-19 22:22:44
阅读次数:
219