uses
cardinality statistics to determine the optimal query plan during the
compilation of a query. If the statistics are missing,
might use a query plan
which is not the most efficient plan.
Once statistics have been created, they should be maintained. It is a good
idea to call the SYSCS_UTIL.SYSCS_UPDATE_STATISTICS procedure
when the number of distinct values in an index is likely to have changed
significantly. To drop all existing statistics and start again from scratch,
call the
SYSCS_UTIL.SYSCS_DROP_STATISTICS
system procedure.
For more information on cardinality statistics, see "Working with cardinality
statistics" in .
Syntax
SYSCS_UTIL.SYSCS_UPDATE_STATISTICS(IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128),
IN INDEXNAME VARCHAR(128))
You
can specify null for the INDEXNAME to update
any existing statistics and create statistics for those statistics
that are missing.
Execute privileges
If authentication and SQL authorization are both enabled, all users have
execute privileges on this procedure. However, in order for the procedure to run
successfully on a given table, the user must be the owner of either the
database or the
schema in which the table resides. See "Configuring user
authentication" and "Configuring user authorization" in the
for more information.
ExamplesIn the following example, the system
procedure updates statistics for the index PAY_DESC on the SAMP.EMPLOYEE
table:
CALL SYSCS_UTIL.SYSCS_UPDATE_STATISTICS('SAMP','EMPLOYEE','PAY_DESC');
In the following example, null is
specified instead of an index name. For all of the indexes, the existing
statistics are updated and statistics are created for any missing
statistics on the EMPLOYEE table in the SAMP schema.
CALL SYSCS_UTIL.SYSCS_UPDATE_STATISTICS('SAMP', 'EMPLOYEE', null);