analyze-statement:
ANALYZE schema_name [ . table_name [ ( column_name [, column_name ] [, ... ] ) ] ]
[ SAMPLE size ]
[ MINMAX ]
Gather statistics on column(s) of table(s) in a specific schema and store or update them in the system table sys.statistics for analysis.
-- derive the statistics for table sys.statistics
ANALYZE sys.statistics;
SELECT * FROM sys.statistics;
-- update statistics of specific columns of sys.statistics
ANALYZE sys.statistics ("sample", count, "unique", minval, maxval) SAMPLE 1000;
SELECT * FROM sys.statistics
WHERE column_id IN (SELECT id FROM sys.columns
WHERE table_id IN (SELECT id FROM sys.tables
WHERE schema_id IN (SELECT id FROM sys.schemas
WHERE name = 'sys') AND name = 'statistics'));
-- remove all the statistics
DELETE FROM sys.statistics;</pre>
Note: The statistics information can be used by the query optimizer to choose the optimal execution plan. Rerun the ANALYZE command after many table manipulations (insert/update/delete).
For large tables this command can take some time. Specify a SAMPLE size to reduce the amount of data values to analyze. Add MINMAX to exclude the expensive unique count operation.