052-183(新增70题2018)

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大小比较




原文地址:https://www.cnblogs.com/Babylon/p/8573343.html