时间:2021-07-01 10:21:17 帮助过:22人阅读
尝试进行归纳总结事务和锁的一些思考.
数据库是什么? 保存数据的地方.
为什么保存数据要用数据库呢? 我直接把数据放文件里, 不也一样吗? 比如我自己序列化json文件保存成txt文件成不? 也行, 但是就不方便检索, 之类的.
数据库就方便检索了呀, 数据库相比文件系统有4个特点:
这里只说锁, 锁是用来保证隔离性的.
隔离性是啥?
比如, 我现在自己实现了一个不怎么完善的数据库, 只是按SQL标准实现了增删改查等命令, 但是操作的数据是直接落实到系统的文件上的. 同时, 要知道SQL标准也规定了4种数据库事务隔离级别, 别急, 我们这个不完善的数据库没有实现事务隔离级别, 也没有实现任何锁, 仅仅是我们知道有这么个东西而已, 暂时不打算去实现它^_^
虽然我们没有实现它, 但还是可以从事务的角度来进行一下思考, 也就是说我们假想事务这么个东西, 可以启动事务, 提交事务和回滚事务.
假设两个事务--A, B, 说明以下几种存在的问题:
锁和MVCC主要就是用来解决以上几个问题的, 如何解决? 且听下回分解.
mysql事务和锁
标签:总结 可重复 持久 操作 bsp 取值 sql 说明 地方