ttOptUpdateStats
TBL_STATS and COL_STATS system tables. If the table is large, this process can take some time. Statistics are not computed automatically as rows are updated; an application must compute them explicitly by calling this procedure.
The procedure operates on all tables owned by the current user if tblName is not specified. If the user is the instance administrator, only tables owned by the instance administrator are updated. If the tables are not owned by the user, the user can qualify the table name with their own user name to update stats for the current user.
To determine if your stats are updated, look at the system tables, SYS.COL_STATS and SYS.TBL_STATS, before and after you perform this operation.
Required Privilege
This procedure requires no privilege if the user is the table owner, or if tblName is not specified. This procedure requires the ALTER ANY TABLE privilege if the user is not the table owner.
Usage in TimesTen Scaleout and TimesTen Classic
This procedure is supported in TimesTen Classic.
TimesTen Scaleout applications can call this built-in procedure.
In TimesTen Scaleout, this procedure runs on all elements in the grid.
Related Views
This procedure has no related views.
Syntax
ttOptUpdateStats(['tblName'], [invalidate], [option])
Parameters
ttOptUpdateStats has these parameters:
| Parameter | Type | Description |
|---|---|---|
|
|
|
Name of an application table. Can include table owner. If a value of Using a synonym to specify a table name is not supported. |
|
|
|
0 (no) or 1 (yes). If The |
|
|
|
Specifies whether to collect complete interval statistics information. Valid values for this option are:
1 - Do not collect complete interval statistics. Only single interval statistics are collected. The See the notes below for more information. |
Result Set
ttOptUpdateStats returns no results.
Examples
CALL ttOptUpdateStats ( 'ACCTS', 1 );
Updates the ACCTS table and causes all commands that reference the ACCTS table to be re-prepared when they are next run.
CALL ttOptUpdateStats('', 1);
Updates all the current user's tables and causes commands on those tables to be reprepared when they are next run.
CALL ttOptUpdateStats('ACCTS', 0, 1);
Forces single interval statistics to be collected.
Notes
If the table name specified is an empty string, statistics are updated for all the current user's tables.
When complete interval statistics are collected, the total number of rows in the table is divided into 20 or less intervals and the distribution of each interval is recorded in the statistics. The new statistics contain the information:
-
Number of intervals
-
Total number of
NULLvalues in the column -
Total number of
NON NULL UNIQUEvalues in the column -
Total number of rows in the table
-
Interval information, where each interval contains:
-
The minimum value
-
The maximum value
-
The most frequently occurring value
-
The number of times the most frequent value occurred
-
The number of rows that have different values than the most frequent value
-
The number of unique values besides the most frequent value
-
Collection of complete interval statistics requires the data to be sorted.
If complete interval statistics are not selected, then statistics are collected by treating the entire distribution as a single interval.
For performance reasons, TimesTen does not hold a lock on tables or rows when computing statistics. However, it holds a lock on the TimesTen system tables. Computing statistics can still slow performance. Estimating statistics generally provides better performance than computing exact statistics. See ttOptEstimateStats for information on estimating statistics.
If you estimate or update statistics with an empty table list, statistics on system tables are updated also, if you have privileges to update the system tables.