144.In your database, the RESULT_CACHE_MODE parameter has been set to MANUAL in the initialization parameter file. You issued the following command:
SQL>SELECT /*+ RESULT_CACHE */ sale_category, sum(sale_amt) FROM sales GROUP BY sale_category;
Where would the result of this query be stored?
A. database buffer cache
B. shared pool
C. PGA
D. large pool
Answer: B
在您的数据库中,结果高速缓存模式参数已经在初始化参数文件中设为手动。你发出以下命令,此查询的结果将被储存在哪里?
RESULT_CACHE_MODE specifies when a ResultCache operator is spliced into a query's execution plan.
Values:
MANUAL
The ResultCache operator is added only when the query is annotated (that is, hints)
FORCE
The ResultCache operator is added to the root of all SELECT statements (provided that it is valid to do so)
Shared Pool
The main components of the shared pool are the library cache, the dictionary cache, and, depending on your configuration, the server result cache. The library cache stores the executable (parsed or compiled) form of recently referenced SQL and PL/SQL code. The dictionary cache stores data referenced from the data dictionary. The server result cache stores the results of queries and PL/SQL function results.
Many of the caches in the shared pool automatically increase or decrease in size, as needed, including the library cache and the dictionary cache. Old entries are aged out to accommodate new entries when the shared pool does not have free space.
A cache miss on the data dictionary cache or library cache is more expensive than a miss on the buffer cache. For this reason, the shared pool should be sized to ensure that frequently used data is cached.
Several features make large memory allocations in the shared pool: for example, the shared server, parallel query, or Recovery Manager. Oracle recommends segregating the SGA memory used by these features by configuring a distinct memory area, called the large pool.
Allocation of memory from the shared pool is performed in chunks. This chunking enables large objects (over 5 KB) to be loaded into the cache without requiring a single contiguous area. In this way, the database reduces the possibility of running out of enough contiguous memory due to fragmentation.
Infrequently, Java, PL/SQL, or SQL cursors may make allocations out of the shared pool that are larger than 5 KB. To allow these allocations to occur most efficiently, Oracle Database segregates a small amount of the shared pool. This memory is used if the shared pool does not have enough space. The segregated area of the shared pool is called the reserved pool.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/81227/viewspace-2123519/
,如需转载,请注明出处,否则将追究法律责任。