Optimize={options}
Controls the query optimization of the RMU Unload command. You
must use one or more of the following options with the Optimize
qualifier:
o Conformance={Optional|Mandatory}
This option accepts two keywords, Optional or Mandatory, which
can be used to override the settings in the specified query
outline.
If the matching query outline is invalid, the
Conformance=Mandatory option causes the query compile, and
hence the RMU Unload operation, to stop. The query outline
will be one which either matches the string provided by
the Using_Outline or Name_As option or matches the query
identification.
The default behavior is to use the setting within the query
outline. If no query outline is found, or query outline usage
is disabled, then this option is ignored.
o Fast_First
This option asks the query optimizer to favor strategies that
return the first rows quickly, possibly at the expense of
longer overall retrieval time. This option does not override
the setting if any query outline is used.
This option cannot be specified at the same time as the Total_
Time option.
NOTE
Oracle Corporation does not recommend this optimization
option for the RMU Unload process. It is provided only
for backward compatibility with prior Rdb releases when
it was the default behavior.
o Name_As=query_name
This option supplies the name of the query. It is used to
annotate output from the Rdb debug flags (enabled using the
logical RDMS$SET_FLAGS) and is also logged by Oracle TRACE.
If the Using_Outline option is not used, this name is also
used as the query outline name.
o Selectivity=selectivity-value
This option allows you to influence the Oracle Rdb query
optimizer to use different selectivity values.
The Selectivity option accepts the following keywords:
- Aggressive - assumes a smaller number of rows is selected
compared to the default Oracle Rdb selectivity
- Sampled - uses literals in the query to perform preliminary
estimation on indices
- Default - uses default selectivity rules
The following example shows a use of the Selectivity option:
$RMU/UNLOAD/OPTIMIZE=(TOTAL_TIME,SELECTIVITY=SAMPLED) -
_$ SALES_DB CUSTOMER_TOP10 TOP10.UNL
This option is most useful when the RMU Unlaod command
references a view definition with a complex predicate.
o Sequential_Access
This option requests that index access be disabled for this
query. This is particularly useful for RMU Unload from views
against strictly partitioned tables. Strict partitioning is
enabled by the PARTITIONING IS NOT UPDATABLE clause on the
CREATE or ALTER STORAGE MAP statements. Retrieval queries
only use this type of partition optimization during sequential
table access.
This option cannot be specified at the same time as the Using_
Outline option.
o Total_Time
This option requests that total time optimization be applied
to the unload query. It does not override the setting if any
query outline is used.
In some cases, total time optimization may improve performance
of the RMU Unload command when the query optimizer favors
overall performance instead of faster retrieval of the first
row. Since the RMU Unload process is unloading the entire set,
there is no need to require fast delivery of the first few
rows.
This option may not be specified at the same time as the Fast_
First option. The Optimize=Total_Time behavior is the default
behavior for the RMU Unload command if the Optimize qualifier
is not specified.
o Using_Outline=outline_name
This option supplies the name of the query outline to be
used by the RMU Unload command. If the query outline does
not exist, the name is ignored.
This option may not be specified at the same time as the
Sequential_Access option.