摘要:
数据库并发操作与数据的不一致性 如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题,导致数据库中的数据的不一致性。 一个最常见的并发操作的例子是火车/飞机订票系统中的订票操作。例如,在该系统中的一个活动序列: 1、甲售票员读出某航班的机票张数余额A,设A=16; 2、乙售票员读出同一航班的机票张数余额A,也是16; 3、甲售票员卖出一张机票,修改机票张数余额A=A-1=15,把A写回数据库; 4、乙售票员也卖出一张机票,修改机票张数余额A=A-1=15,把A写回数据库。 结果明明卖出两张机票,数据库中机票余额只减少1。 这种... 阅读全文
摘要:
如何处理大量数据并发操作文件缓存,数据库缓存,优化sql,数据分流,数据库表的横向和纵向划分,优化代码结构!锁述的概一. 为什么要引入锁多个用户同时对数据库的并发操作时会带来以下数据不一致的问题:丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致不可重复读A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些 阅读全文