博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
会话和事务的区别
阅读量:4082 次
发布时间:2019-05-25

本文共 1027 字,大约阅读时间需要 3 分钟。

http://blog.csdn.net/jiankunking/article/details/23818743

      一个会话可以启动多个事务,会话是session,指一次连接。
        事务是指一个操作单元,要么成功,要么失败,没有中间状态。
        会话中可以完成多个事务。
例如:
        会话好比,在应用程序中连接数据库要执行连接,然后会关闭,这算一次会话
        事务呢,就好比在打开会话后要执行程序中的某一个或多个对数据库进行的操作。
        事物的最好例子就是转账,从一个账户赚钱到另一个账户,两张表的数据修改,要么全成功,要门全变回原样。
        会话看 v$session
        事务看 v$transaction
        这两张视图通过 v$session.taddr= v$transaction.addr 连接,
        事务是使数据库和文件系统分离的一个特性

http://blog.csdn.net/w67995822/article/details/70184151

oracle中有两个概念,会话与事务。很多朋友可能还不是很明白这二者到底有什么区别。

会话,即session,当你使用工具如sqlplus或者toad执行连接,连接到某个数据库的时候,就开启了一个会话,直到你关闭这次连接,这个会话才算结束。

事务,即transaction,是一个由多条SQL语句组成的工作逻辑单元,这些语句要么全部执行成功,要么全部不执行。只有commit,rollback,或者关闭工具的情况下,事务才会结束。当一个事务结束之后,下一个可执行的SQL语句自动开启一个新的事务。事务具有4个属性:原子性,一致性,隔离性,持久性。这里不具体说。

以上解释了什么是会话和事务,接下来用一个生动的例子来进一步说明它们俩的区别,相信大家就都能明白了。

比如你去银行办理业务,当你坐在柜台前跟工作人员面对面,开始办理业务的时候,这个时候‘会话’就开启了,那么这个‘会话’结束自然就是你办理好了所有的业务离开柜台的时候。

在办理业务的时候,比如你要先办一张银行卡,然后再往里面存一万块钱,那么这就相当于两个事务,一个是办理银行卡,一个是存钱当你拿到银行卡的时候,相当于这个事务已经commit了,事务结束。当你开始存钱的时候,一个新的事务开启,存进去之后,第二个事务结束。

综上,一个会话可以包含很多个事务,会话是一次对数据库的连接,事务是一个工作单元。

个人总结:

一次会话可以包含多次事务

一次事务必然属于同一会话

你可能感兴趣的文章
Android自定义View实现商品评价星星评分控件
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
postgresql查看表的和索引的情况,判断是否膨胀
查看>>
postgresql中根据oid和filenode去找表的物理文件的位置
查看>>
postgresql减少wal日志生成量的方法
查看>>
swift中单例的创建及销毁
查看>>
获取App Store中App的ipa包
查看>>
iOS 关于pods-frameworks.sh:permission denied报错的解决
查看>>
设置tabbaritem的title的颜色及按钮图片
查看>>
动态设置label的高度
查看>>
图片压缩
查看>>
检测缓存文件是否超时
查看>>
十进制字符串转十六进制字符串
查看>>
属性字符串(富文本)的使用
查看>>
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>
利用runtime给类别添加属性
查看>>