View Exhibit.
Which statement causes more undo generation?
Exhibit:
A. SELECT * FROM emp;
B. DELETE FROM emp WHERE empno=7934;
C. UPDATE emp SET comm=400 WHERE empno=7844;
D. INSERT INTO emp VALUES(7999,'JHON','CLERK',7782,'10-MAY-83',1500,NULL,10);
Answer: B
实验:1 SELECT * FROM emp;
-- SELECT a.NAME, a.VALUE FROM V$SYSSTAT a WHERE a.NAME in('undo change vector size'); -- select*from scott.emp; -- SELECT a.NAME, a.VALUE FROM V$SYSSTAT a WHERE a.NAME in('undo change vector size'); --结果undo change vector size没变化
2.DELETE FROM emp WHERE empno=7934;
差了348
3.UPDATE emp SET comm=400 WHERE empno=7844;
差了184
4.INSERT INTO emp VALUES(7999,'JHON','CLERK',7782,'10-MAY-83',1500,NULL,10);
差了228
使用undo大小为delete>insert>update>select
常见dml、ddl语句使用nologging选项所生成的redo和undo大小比较