数据库的事务及隔离级别
在操作数据库时,经常需要将一系列操作打包成一个原子操作:要么全部执行,要么全部不执行。一个最常被用来举例子的场景是银行转账问题,假设有两个用户 A 和 B,A 要向 B 转账 100 元需要进行以下操作: 查询 A 的余额; 若余额大于 100,则减去 100,并写回数据库; B 的余额加上 100,并写回数据库; 这…
2 篇
在操作数据库时,经常需要将一系列操作打包成一个原子操作:要么全部执行,要么全部不执行。一个最常被用来举例子的场景是银行转账问题,假设有两个用户 A 和 B,A 要向 B 转账 100 元需要进行以下操作: 查询 A 的余额; 若余额大于 100,则减去 100,并写回数据库; B 的余额加上 100,并写回数据库; 这…
我们知道,数据库的分类有关系型数据库和非关系型数据库。关系型数据库的代表是MySQL。这里我们不谈关系型和非关系型的区别于联系,只侧重于讲讲关系型数据库的索引实现原理。 之所以称为关系型数据库,是因为它记录了各种数据之间的“关系”,我们可以形象地将若干个属性它看做一张表,一个数据库有若干个这样的表,这些表之间靠某些共有…