user rollbacks 与 transaction rollbacks 的区别

简介:   论坛上有个帖子 SQL>  select name,value from v$sysstat where name in ('user commits','user rollbacks');NAME                           ...

 

论坛上有个帖子

SQL>  select name,value from v$sysstat where name in ('user commits','user rollbacks');

NAME                                                                  VALUE
---------------------------------------------------------------- ----------
user commits                                                         506661
user rollbacks                                                      1105228

SQL> select round(1105228/(1105228+506661),4)*100||'%' from dual;

ROUND(1105228/(1105228+506661)
------------------------------
68.57%

经分库,这个high算正常吗?基本没不用delete操作,咋还这么high呢?

v$sysstat中的user rollbacks是计算的是每次rollback命令。transaction rollbacks只计算实际有transaction的rollback。

SQL> select name ,value from v$sysstat
  2  where name in
  3  ('user rollbacks','transaction rollbacks');

NAME                                                                  VALUE    
---------------------------------------------------------------- ----------    
user rollbacks                                                           23    
transaction rollbacks                                                     0    

SQL> delete from  scott.cust where rownum=1;

已删除 1 行。

SQL> rollback;

回退已完成。

SQL> select name ,value from v$sysstat
  2  where name in
  3  ('user rollbacks','transaction rollbacks');

NAME                                                                  VALUE    
---------------------------------------------------------------- ----------    
user rollbacks                                                           24    
transaction rollbacks                                                     1    

SQL> rollback;

回退已完成。

SQL> rollback;

回退已完成。

SQL> select name ,value from v$sysstat
  2  where name in
  3  ('user rollbacks','transaction rollbacks');

NAME                                                                  VALUE    
---------------------------------------------------------------- ----------    
user rollbacks                                                           26    
transaction rollbacks                                                     1    

所以有时看到rollback回滚率值很大,有可能是不影响性能的,可能是某个应用频繁的进行无意义的user rollback 造成的

目录
相关文章
|
28天前
|
SQL Java 数据库连接
|
4月前
|
SQL Java 关系型数据库
jdbc(insert,update,,create,以及各个类详解)
jdbc(insert,update,,create,以及各个类详解)
|
10月前
|
Java 关系型数据库 MySQL
定时任务Quzrtz:Failed to override connection auto commit/transaction isolation
定时任务Quzrtz:Failed to override connection auto commit/transaction isolation
100 0
|
12月前
|
SQL Java
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
|
关系型数据库 MySQL Java
Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep linux下mysql修改连接超时wait_timeout修改后就ok了
Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionExcep linux下mysql修改连接超时wait_timeout修改后就ok了
168 1
|
SQL 关系型数据库 MySQL
MySQL中USER()和CURRENT_USER()的区别
USER()和CURRENT_USER()的一点不同
135 0
|
Java 关系型数据库 MySQL
Flyway 执行报错: 'user_variables_by_thread' 表没有SELECT权限问题
Flyway 执行报错: 'user_variables_by_thread' 表没有SELECT权限问题
725 0
Flyway 执行报错: 'user_variables_by_thread' 表没有SELECT权限问题
使用ST03N查看指定user的transaction 性能数据
使用ST03N查看指定user的transaction 性能数据
231 0
使用ST03N查看指定user的transaction 性能数据
|
Java
JPA:@Modifying注解(UPDATE或者DELETE)
JPA:@Modifying注解(UPDATE或者DELETE)
849 0
SET UPDATE TASK LOCAL and commit session issue
SET UPDATE TASK LOCAL and commit session issue
133 0
SET UPDATE TASK LOCAL and commit session issue