1、会话可以创建多个事务
比如:使用客端连接数据库,这样你就可以执行很多个事务了
2、一个事务只能由一个会话产生
在数据库里的事务,如果在执行的SQL都是由会话发起的,哪怕是自动执行的JOB也是由系统会话发起的
3、一个事务可能会产生一个或多个线程
比如RMAN备份,是可以创建多个线程可加快备份速度
4、一个线程在同一时间内只能执行一个事务
而一个线程,在没结束当前事务是无法释放资源来执行第二个事务
事务、会话与线程的关系和区别
我一直没弄明白数据库中的这三个概念之间的关系。
事务:简单理解局势一个业务需求的最小处理单位。
如:从A银行卡转账500元到B银行卡,事务就包括两部分,1、从A卡减掉500元 2、从B卡加上500元
这两个部分只要一个部分出错,就要整体“回滚”,那这就是一个事务
会话:可以包含N个事务
如:你登陆网银之后,可以重复转账步骤2次,第二次转账失败,并不影响你第一次转账成功。
线程:一个事情,一个人干和多个人干的问题
如:比如植树,任务是植树500棵,一个人(线程)干5天,那五个人(线程)干1天。
至于会话和线程的关系,个人理解,植树任务就是一个session
一个会话中可以由多个事务。
线程是操作系统概念。