ITPub博客

首页 > 数据库 > Oracle > [20140513]无用的dml语句.txt

[20140513]无用的dml语句.txt

原创 Oracle 作者:lfree 时间:2014-05-13 09:31:30 0 删除 编辑

[20140513]无用的dml语句.txt

--昨天需要使用logminer挖掘一些信息,发现生产系统存在大量的DML是无用的垃圾,到底开发是什么测试,了解oracle多少。
--这个让我想起多年以前的一个项目,程序使用的操作方式是先delete删除,然后简单的insert插入信息的方式,这个要产生大量
--日志,花了大量的精力才说服对方修改这样操作方式。

/* Formatted on 2014/5/13 8:58:20 (QP5 v5.252.13127.32867) */
SELECT sql_redo
  FROM (  SELECT SCN,
                 timestamp "Time Stamp",
                 log_id "Log ID",
                 seg_type_name "Segment Type Name",
                 seg_owner "Segment Owner",
                 seg_name "Segment Name",
                 table_space "Tablespace",
                 abs_file# "Abs File #",
                 row_id "Row ID",
                 session# "Session #",
                 serial# "Serial #",
                 session_info "Session Info",
                 username "Username",
                 operation "Operation",
                 sql_redo ,
                 sql_undo "SQL Undo",
                 Info "Info",
                 status "Status"
            FROM V$LOGMNR_CONTENTS
           WHERE sql_redo = sql_undo AND sql_redo <> 'Unsupported'
        ORDER BY sql_redo)

 
--我检查发现许多update语句是在做无用功。

update "XXXXXXXX"."EMR_BL04" set "FJLX" = '1', "FJGL" = '0' where "FJLX" = '1' and "FJGL" = '0' and ROWID = 'AAAOmGAAPAALT+hAAh';

--可以发现并没有修改信息。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-1159616/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969672