事务是什么?
2016-04-25 19:48
141 查看
事务:简单来说,事务就是几个操作要作为一个处理单元来完成,要么全部完成,要么全部不完成。事务可以是一条SQL语句,也可以是多条SQL语句或者整个程序。
事务日志:重做日志和撤销日志。
给大家举一个很俗很俗的例子。
俺要到银行存钱,分为以下步骤:
把钱交给工作人员--->工作人员填单--->将单子给俺签字--->工作人员确认并输入电脑
如果以上过程完成到第三步时,工作人员over了,这该怎么办,俺肯定很急啊。于是就有了我们所说的事物,这个流程我们就可以称之为一个事务,其要满足的ACID特性,即原子性,一致性,持久性和隔离性,这些知识大家肯定明白!
接着上面的故事,此时俺的钱已经交了,但是没有存入银行,俺肯定就不满意了,所以要求工作人员2来处理这件事情,但是工作人员2怎么知道进行到哪个步骤了呢,此时事务日志就派上用场了。
继续,如果之前工作人员1进行的每个动作,都由一个别的工具来记录,工作人员2就可以根据这些记录来帮助俺,这个工具就是事务日志。如果工作人员1的操作被完整的记录下了,那么工作人员2就会利用日志帮俺完成未完成操作,这是重写日志,但是如果有一条记录并没有被完整的记录下,那么工作人员2也无能为力,只能将钱还给俺,俺也不亏,这是撤销日志。
大家是不是有点头绪了呢!
事务日志:重做日志和撤销日志。
给大家举一个很俗很俗的例子。
俺要到银行存钱,分为以下步骤:
把钱交给工作人员--->工作人员填单--->将单子给俺签字--->工作人员确认并输入电脑
如果以上过程完成到第三步时,工作人员over了,这该怎么办,俺肯定很急啊。于是就有了我们所说的事物,这个流程我们就可以称之为一个事务,其要满足的ACID特性,即原子性,一致性,持久性和隔离性,这些知识大家肯定明白!
接着上面的故事,此时俺的钱已经交了,但是没有存入银行,俺肯定就不满意了,所以要求工作人员2来处理这件事情,但是工作人员2怎么知道进行到哪个步骤了呢,此时事务日志就派上用场了。
继续,如果之前工作人员1进行的每个动作,都由一个别的工具来记录,工作人员2就可以根据这些记录来帮助俺,这个工具就是事务日志。如果工作人员1的操作被完整的记录下了,那么工作人员2就会利用日志帮俺完成未完成操作,这是重写日志,但是如果有一条记录并没有被完整的记录下,那么工作人员2也无能为力,只能将钱还给俺,俺也不亏,这是撤销日志。
大家是不是有点头绪了呢!
相关文章推荐
- 碰撞的蚂蚁
- 驱动调试中怎么样让windbg停在DriverEntry
- MyEclipse连接MySQL
- nyoj 44 子串和
- sitemesh技术的应用
- ABP源码分析三十七:ABP.Web.Api Script Proxy API
- [GDOI2016模拟04.25总结]
- HDOJ1175(BFS)
- 图文混排 和 正则表达式
- 智能交通
- ZOJ-3936(Apples and Ideas)
- caption标签,为表格添加标题和摘要 summary a mail
- JAVA内存模型
- 基于epoll封装的事件回调miniserver
- 个人博客总结7
- Codeforces Round #347 (Div. 2) C. International Olympiad(求第一次出现这种数字结尾的是哪一个年份)
- Android热修复技术链接收集
- IO流学习
- Masonry介绍与使用实践(快速上手Autolayout)
- mips 的内存映射问题