Oracle 参数 CURSOR_SPACE_FOR_TIME 官方解释,作用,如何配置最优化建议
本站中文解释
CURSOR_SPACE_FOR_TIME控制是否为执行计划和 Cursor choosing 的耗时和指针空间之间进行权衡。当使用这个参数时,CURSOR_SPACE_FOR_TIME 设置为TRUE,将尽可能最大化指针空间来改善查询性能;设置为FALSE时,将更多的倾向于使查询更快地运行。
正确的设置该参数的做法是,根据执行计划选择最优的设置,根据应用程序的要求和系统的特征,设置恰当的参数,使执行计划可以有最佳的性能。一般情况下,可以将CURSOR_SPACE_FOR_TIME设置为TRUE来减少耗费的 processors 时间,减少 cursor 的搜索时间。
官方英文解释
CURSOR_SPACE_FOR_TIME
lets you use more space for cursors to save time.
Property | Description |
---|---|
Parameter type |
Boolean |
Default value |
|
Modifiable |
No |
Modifiable in a PDB |
No |
Range of values |
|
Basic |
No |
Note:
The CURSOR_SPACE_FOR_TIME
parameter is deprecated. It is retained for backward compatibility only.
This parameter affects both the shared SQL area and the client’s private SQL area.
Most users will not need to set this parameter because of the significantly enhanced concurrency modifications introduced in Oracle Database 10g Release 2 (10.2.0.2) and later.
Values
-
true
Shared SQL areas are kept pinned in the shared pool. As a result, shared SQL areas are not aged out of the pool as long as an open cursor references them. Because each active cursor’s SQL area is present in memory, execution is faster. However, the shared SQL areas never leave memory while they are in use. Therefore, you should set this parameter to
true
only when the shared pool is large enough to hold all open cursors simultaneously.In addition, a setting of
true
retains the private SQL area allocated for each cursor between executions instead of discarding it after cursor execution, saving cursor allocation and initialization time. -
false
Shared SQL areas can be deallocated from the library cache to make room for new SQL statements.
Note:
If this parameter is set to true
, then the SERIAL_REUSE
parameter is disabled.
See Also:
-
“SERIAL_REUSE”