Oracle 参数 HASH_AREA_SIZE 官方解释,作用,如何配置最优化建议

本站中文解释

HASH_AREA_SIZE参数用于指定链接哈希排序操作所需的哈希表内存大小,以字节为单位。它是一个折衷参数,可以根据链接操作所需的特定大小以及目标内存空间设置。HASH_AREA_SIZE参数使指定的链接操作有更多的内存空间,以改善执行性能,但如果它设置的太大,就会占用太多内存,降低了性能。

正确设置HASH_AREA_SIZE参数的步骤如下:

1. 了解目标系统的内存布局,确定为HASH_AREA_SIZE参数可用的内存大小;

2. 确定执行的查询将使用链接操作,并根据预期结果集和数据大小确定要分配的内存;

3. 为HASH_AREA_SZE设一个期望值,但小于第2步确定的内存数,以便有余量;

4. 如果指定参数小于确定的内存数,则降低相应的HASH_AREA_SIZE参数值;

5. 如果指定参数大于确定的内存数,则增加相应的HASH_AREA_SIZE参数值;

6. 重复以上5步,直到查询链接操作能够良好地运行,保持性能最大化。

官方英文解释

HASH_AREA_SIZE specifies the maximum amount of memory, in bytes, to be used for hash joins.

Property Description

Parameter type

Integer

Default value

Derived: 2 * SORT_AREA_SIZE

Modifiable

ALTER SESSION

Modifiable in a PDB

No

Range of values

0 to operating system-dependent

Basic

No

Note:

Oracle does not recommend using the HASH_AREA_SIZE parameter unless the instance is configured with the shared server option. Oracle recommends that you enable automatic sizing of SQL working areas by setting PGA_AGGREGATE_TARGET instead. HASH_AREA_SIZE is retained for backward compatibility.

HASH_AREA_SIZE is relevant to parallel execution operations and to the query portion of DML or DDL statements.

See Also:

  • Oracle Database
    Concepts
    for information on hash joins in general


数据运维技术 » Oracle 参数 HASH_AREA_SIZE 官方解释,作用,如何配置最优化建议