为了加深学过知识的印象,我兴致勃勃按照自己的理解把知识传授给老妈,当然了,讲错也不至于误人子弟。
学到了数据库的并发事务,有三种典型的不一致情况:
- 丢失修改
- 不可重复读
- 脏读
讲第一点时,我利用更易明白的实例:
12306抢票,只有一张余票了,但小红和小明同时读取到还有1张,于是都决定,赶快抢票,结果是:小红买到一张,修改票数为0;小明也买到一张,修改票数为0.你看,票数减少了一张,但两个人买到了票,这可怎么办?——
——‘给他加速!’,老妈兴奋地抢答,我差点没反应过来,‘是不是要在微信朋友圈给他加速了,只有自己加速没用对吧……‘
我哭笑不得,老妈说的的确不假,但显然考虑的问题和我不在同一层面上,我尽量回到原话题:‘没错,这个加速的动作其实就在后台影响到了人们这个并发购票的先后次序……