计划输出,例如
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR( '' ,NULL,'ALLSTATS LAST'));
具有 OMem 和 1Mem 列。它们的含义是什么?我找不到任何关于它们的参考或文档,只有这个单一的网页,声称(或询问):
OMem:- 估计的最佳内存 (PGA) 大小,用于在内存中执行操作。
1Mem:- 单次通过磁盘执行操作的估计大小?
计划输出,例如
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR( '' ,NULL,'ALLSTATS LAST'));
具有 OMem 和 1Mem 列。它们的含义是什么?我找不到任何关于它们的参考或文档,只有这个单一的网页,声称(或询问):
OMem:- 估计的最佳内存 (PGA) 大小,用于在内存中执行操作。
1Mem:- 单次通过磁盘执行操作的估计大小?
OMem - 仅在内存中执行操作所需的估计内存量。这也称为最优执行。
1Mem - 一次执行操作所需的估计内存量(仅写入和读取磁盘 (temp) 一次)。这称为一次性执行。
多遍执行是指多次向磁盘写入和读取相同的数据。
考虑排序,数据库必须在一个小的 PGA/排序区域中对大量数据进行排序。
由于您使用 ALLSTATS LAST 查询计划统计信息,因此需要一些额外的列:
Used-Mem - 此操作实际使用的内存量。此栏的括号中也有一个数字。如果数字为 0,那么这是一个最佳执行,只使用内存,没有临时空间。如果数字是 1,那么它是一次执行。如果数字大于 1,则它是多遍执行,并且该数字是遍数。
Used-Tmp - 用于此操作的临时空间量。
这是从第 28 页开始的关于执行通行证的介绍:http ://www.nocoug.org/download/2003-08/how_cbo_works.ppt