`
vvggsky
  • 浏览: 65243 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Select 事务

    博客分类:
  • DB
SQL 
阅读更多
Session s = factory.openSession();
Transaction tx = s.beginTransaction();
List auctions = s.createQuery("select ...").list();
tx.commit();
s.close();


如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;
如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用事务支持。
分享到:
评论

相关推荐

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    mysql事务select for update及数据的一致性处理讲解

    MySQL中的事务,默认是自动提交的,即autocommit = 1; 但是这样的话,在某些情形中就会出现问题:比如: 如果你想一次性插入了1000条数据,mysql会commit1000次的, ...在SELECT 的读取锁定主要分为两种方式:

    MY SQL 事务隔离 查询:默认事务隔离级别

    事务隔离 查询:默认事务隔离级别 mysql> select @@tx_isolation;当前会话的默认事务隔离级别 mysql> select @@session.tx_isolation;当前会话的默认事务隔离级别 mysql> select @@global.tx_isolation;全局的事务...

    mySQL事务处理

    SELECT book_number FROM book WHERE book_id = 123 FOR UPDATE; --这里for update , 以前用Oracle的时候也是有这个行锁 // ... UPDATE book SET book_number = book_number - 1 WHERE book_id = 123; COMMIT;

    4种事务的隔离级别

    • 并发事务之间相互干扰,可能导致事务出现读脏,不可重复度,幻读等问题 • InnoDB实现了SQL92标准中的四种隔离级别 (1)读未提交:select不加锁,可能出现读脏; (2)读提交(RC):普通select快照读,锁select /...

    mysql SELECT FOR UPDATE语句使用示例

    预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT … LOCK IN SHARE MODE SELECT … FOR UPDATE这两种方式在事务(Transaction) 进行当中SELECT 到同一个数据表时,...

    mysql进阶知识点之事务

    1、查看事务状态select @@autocommit ;查看事务是否开启自动,默认是自动开启的 2、set autocommit=0;关闭自动事务,每次sql语句后可以跟随rollback 回滚,不执行前一次sql 3、执行sql之前,写一个begain;sql语句1;...

    sql函数和事务

    set @functionId = (select col_Value from SplitStr(@functionList,',') where id = @index + 1) insert into xt_user_function(function_id, user_id) values (@functionId, @userId) SET @index=@index+1 ...

    数据库进阶-事务索引问答.pdf

    RC隔离级别最核⼼的地⽅在于,在事务内的每次SELECT语句执⾏时,都会⽣成对应的 ReadView。抽象地理解就是RC隔离级别下,每⼀个事务只能看得到别的事务已经提交了的数据 内容,事务中间过程数据是⽆法被查看到的。 ...

    数据库事务以及事务的隔离级别

    事务:一个逻辑工作单元要成为事务  事务的四个属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。  1.原子性(Atomic)  重要的原则,也是容易理解的原则。被...

    InnoDB 事务/锁/多版本分析

    InnoDB 事务/锁/多版本分析 InnoDB 事务/锁/多版本分析

    解决MySQL读写分离导致insert后select不到数据的问题

    线上的一个坑,做了读写分离以后,有一个场景因为想方法复用,只传入一个ID就好,直接去库里查出一个对象再做后续处理,结果查不出来,事务隔离级别各种也都排查了,最后发现是读写分离的问题,所以换个思路去实现吧。...

    innodb如何巧妙的实现事务隔离级别详解

    隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 我们都知道事务的几种性质,数据库中的一致性和隔离性等是实现事务的基本思想,在...

    银行转账事务小练习.zip

    Select balance from tb_account where balance >=1000; 2.在张无忌的账号余额上减少1000 Update tb_account set balance = balance -1000 where name=’张无忌’ 3.在赵敏的账户余额尚增加1000. Update tb_...

    SQL Server 中的事务

     事务要有非常明确的开始和结束点,SQL Server 中的每一条数据操作语句,例如SELECT、INSERT、UPDATE和DELETE都是隐式事务的一部分。即使只有一条语句,系统也会把这条语句当做一个事务,要么执行所有的语句,要么...

    MySQL为什么要避免大事务以及大事务解决的方法

    什么是大事务 运行时间比较长,长时间未提交的事务就可以称为大事务 大事务产生的原因 操作的数据比较多 大量的锁竞争 事务中有其他非DB的耗时操作 ...select \* from information\_schema.innodb\_trx where TIM

    SQLserver锁和事务隔离级别的比较与使用

    共享锁主要是为了共享读(select),如果存在事务(一个或多个)拥有对表中数据(关于锁数据的多少,视锁的粒度而定)的共享锁,不允许对锁定的数据进行更新(update)(从锁的角度讲,即不允许事务获取排他锁

    【分布式事务----LCN】LCN原理及使用方式.docx

    spring.datasource.validationQuery=SELECT 1 # 指明连接是否被空闲连接回收器(如果有)进行检验. 如果检测失败, 则连接将被从池中去除. spring.datasource.testWhileIdle=true # 指明是否在从池中取出连接前...

Global site tag (gtag.js) - Google Analytics