Which three statements are true about the process of automatic optimization by using cardinality feedback?

Examine the parameters for your database instance:

Which three statements are true about the process of automatic optimization by using cardinality
feedback?

Examine the parameters for your database instance:

Which three statements are true about the process of automatic optimization by using cardinality
feedback?

A.
The optimizer automatically changes a plan during subsequent execution of a SQL statement if
there is a huge difference in optimizer estimates and execution statistics.

B.
The optimizer can re optimize a query only once using cardinality feedback.

C.
The optimizer enables monitoring for cardinality feedback after the first execution of a query.

D.
The optimizer does not monitor cardinality feedback if dynamic sampling and multicolumn
statistics are enabled.

E.
After the optimizer identifies a query as a re-optimization candidate, statistics collected by the
collectors are submitted to the optimizer.

Explanation:
C: During the first execution of a SQL statement, an execution plan is generated as
usual.
D: if multi-column statistics are not present for the relevant combination of columns, the optimizer
can fall back on cardinality feedback.
(not B)* Cardinality feedback. This feature, enabled by default in 11.2, is intended to improve plans
for repeated executions.
optimizer_dynamic_sampling
optimizer_features_enable
* dynamic sampling or multi-column statistics allow the optimizer to more accurately estimate
selectivity of conjunctive predicates.

Note:
* OPTIMIZER_DYNAMIC_SAMPLING controls the level of dynamic sampling performed by the
optimizer.
Range of values. 0 to 10
* Cardinality feedback was introduced in Oracle Database 11gR2. The purpose of this feature is to
automatically improve plans for queries that are executed repeatedly, for which the optimizer does
not estimate cardinalities in the plan properly. The optimizer may misestimate cardinalities for a
variety of reasons, such as missing or inaccurate statistics, or complex predicates. Whatever the
reason for the misestimate, cardinality feedback may be able to help.



Leave a Reply 2

Your email address will not be published. Required fields are marked *


Sayed

Sayed

A,C. During the first execution of a SQL statement, an execution plan is generated as usual. During optimization, certain types of estimates that are known to be of low quality (for example, estimates for tables which lack statistics or tables with complex predicates) are noted, and monitoring is enabled for the cursor that is produced. If cardinality feedback monitoring is enabled for a cursor, then at the end of execution, some of the cardinality estimates in the plan are compared to the actual cardinalities seen during execution. If some of these estimates are found to differ significantly from the actual cardinalities, the correct estimates are stored for later use. The next time the query is executed, it will be optimized again, and this time the optimizer uses the corrected estimates in place of its usual estimates.

D. In some cases, there are other techniques available to improve estimation; for instance, dynamic sampling or multi-column statistics allow the optimizer to more accurately estimate selectivity of conjunctive predicates. In cases where these techniques apply, cardinality feedback is not enabled.