Define Transaction ?
A Transaction is a logical unit of work
that comprises one or more SQL statements executed by a
single user.
When does a Transaction end ?
When it is committed or Rollbacked.
What does COMMIT do ?
COMMIT makes permanent the changes resulting from all SQL statements in the
transaction. The changes made by the SQL statements of a transaction become
visible to other user sessions transactions that start only after transaction
is committed.
What does ROLLBACK do ?
ROLLBACK retracts any of the changes resulting from the SQL statements in the
transaction.
What is SAVE POINT ?
For long transactions that contain many SQL statements, intermediate markers or
savepoints can be
declared which can be
used to divide a transaction into smaller parts. This allows the option of
later rolling back all
work performed from the current point in the transaction to a declared
savepoint within the
transaction.
What is Read-Only Transaction ?
A Read-Only transaction ensures that the
results of each query executed in the transaction are
consistant with respect
to the same point in time.
What is the function of Optimizer ?
The goal of the optimizer is to choose the
most efficient way to execute a SQL statement.
What is Execution Plan ?
The combinations of the steps the optimizer
chooses to execute a statement is called an execution
plan.
What are the different approaches used by Optimizer in
choosing an execution plan ?
Rule-based and Cost-based.
What are the factors that affect OPTIMIZER in choosing an
Optimization approach ?
The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary
the OPTIMIZER_GOAL
parameter of the ALTER
SESSION command hints in the statement.
What are the values that can be specified for OPTIMIZER MODE
Parameter ?
COST and RULE.
Will the Optimizer always use COST-based approach if
OPTIMIZER_MODE is set to “Cost’?
Presence of statistics in the data dictionary for atleast one of the tables
accessed by the SQL
statements is
necessary for the OPTIMIZER to use COST-based approach. Otherwise OPTIMIZER
chooses
RULE-based approach.
What is the effect of setting the value of OPTIMIZER_MODE to
‘RULE’ ?
This value causes the optimizer to choose the rule_based approach for all SQL
statements issued to
the instance
regardless of the presence of statistics.
What are the values that can be specified for OPTIMIZER_GOAL
parameter of the ALTER SESSION
Command ?
CHOOSE,ALL_ROWS,FIRST_ROWS and RULE.
What is the effect of setting the value “CHOOSE” for
OPTIMIZER_GOAL, parameter of the ALTER
SESSION Command ?
The Optimizer chooses Cost_based approach and optimizes with the goal of best
throughput if
statistics for atleast
one of the tables accessed by the SQL statement exist in the data dictionary.
Otherwise the
OPTIMIZER chooses RULE_based approach.
What is the effect of setting the value “ALL_ROWS” for
OPTIMIZER_GOAL parameter of the ALTER
SESSION command ?
This value causes the optimizer to the cost-based approach for all SQL
statements in the session
regardless of the
presence of statistics and to optimize with a goal of best throughput.
What is the effect of setting the value ‘FIRST_ROWS’ for
OPTIMIZER_GOAL parameter of the ALTER SESSION command ?
This value causes the optimizer to use the cost-based approach for all SQL
statements in the session
regardless of the
presence of statistics and to optimize with a goal of best response time.
What is the effect of setting the ‘RULE’ for OPTIMIER_GOAL
parameter of the ALTER SESSION
Command ?
This value causes the optimizer to choose the rule-based approach for all SQL
statements in a
session regardless of
the presence of statistics.
What is RULE-based approach to optimization ?
Choosing an executing planbased on the access paths available and the ranks of
these access paths.
What is COST-based approach to optimization ?
Considering available access paths and determining the most efficient execution
plan based on
statistics in the data
dictionary for the tables accessed by the statement and their associated
clusters and indexes.
0 comments:
Post a Comment