请问在表test设定nologging,是否会影响到在此表上数据的提交与回退?
表test上设定nologging与不设nologging本质区别在哪里?
对事务处理有没有影响?

解决方案 »

  1.   

    数据一般在提交的时候会写进数据文件 和redo log,默认都是写log的。 当不写log 的时候,数据就只用写入数据文件,这样就减少了插入的时间。 当然提高速度也是有代价的,因为没有写日志,所以如果有什么意味就无法通过日志进行恢复了。------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  2.   

    nologging与事物没有关系的,只是插入的时候没有记录日志。
    create table t1 (id int,name varchar(20));
    alter table t1 nologging;
    insert into t1 select 1,'aa' from dual;
    insert into t1 select 1,'bb' from dual;
    insert into t1 select 1,'cc' from dual;
    rollback;
    select * from t1;
    --回滚后,没有数据
      

  3.   


    如果没有开启写log,回退也不会写日志的... 
    用户的所有操作都会写道redo log 里面。没开启写日志,就不会写.. ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  4.   

    f如果设定nologging,对应用程序的事务处理(提交与回滚)有没有影响?
      

  5.   


    没有影响, 只是不写日志而已。 不过非特殊要求(比如插入大量数据,写log要增加很多时间),一定要写log。------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  6.   

    nologging不写日志,如果你的数据库崩溃了,没法把该表的数据恢复为最新的数据。