DBMS中并发控制的任务是确保多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性 乐观锁和悲观锁是并发控制主要采用的技术手段。 无论是乐观锁还是悲观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库中有乐观锁和背锅所的盖面,其他很多地方都有类似的概念 Read More
posted @ 2018-01-16 20:30 Alighieri Views(165) Comments(0) Diggs(0) Edit
行级锁分为共享锁和排他锁两种 共享锁:又称读锁,是读取操作创建的锁,其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有的共享锁。 如果事务T对数据S加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁,获准共享锁的事务只能读时局,不能修改数据。 用法: Read More
posted @ 2018-01-16 19:39 Alighieri Views(322) Comments(0) Diggs(0) Edit
锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足 行级锁:是mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁和排他锁 特点:开销大,加锁慢,会出现死锁;锁定 Read More
posted @ 2018-01-16 19:19 Alighieri Views(162) Comments(0) Diggs(0) Edit
并发控制 DBMS中的并发控制的任务是确保在多个事务同时存取数据库中统一数据时不破换事务的隔离性以及数据库的统一性。 例:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录 Read More
posted @ 2018-01-16 16:33 Alighieri Views(105) Comments(0) Diggs(0) Edit
在DBMS中,事务保证了一个操作序列可以全部执行或者全部不执行(原子性),从一个状态撞边到另外一个状态(一致性)。由于事务满足持久性。所以一旦事务被提交之后,数据就能被持久化下来,又因为事务是满足隔离性的,所以,当多个事务同时处理同一个数据的时候,多个事务是互不影响的。所以,在多个事务并发操作的过程 Read More
posted @ 2018-01-16 16:04 Alighieri Views(127) Comments(0) Diggs(0) Edit