Name
ANALYZE — Compute index meta-data
Syntax
Common Usage
ANALYZE; ANALYZEdatabase_name
; ANALYZEdatabase_name
.table_name
;
Description
The ANALYZE
command computes and records
statistical data about database indexes. If available, this data
is used by the query optimizer to compute the most efficient
query plan.
If no parameters are given, statistics will be computed for all indexes in all attached databases. You can also limit analysis to just those indexes in a specific database, or just those indexes associated with a specific table.
The statistical data is not automatically updated as the index values change. If the contents or distribution of an index changes significantly, it would be wise to reanalyze the appropriate database or table. Another option would be to simply delete the statistical data, as no data is usually better than incorrect data.
Data generated by ANALYZE
is stored in one or more
tables named sqlite_stat
,
starting with #
sqlite_stat1
.
These tables cannot be manually dropped, but the data inside can
be altered with standard SQL commands. Generally, this is not
recommended, except to delete any ANALYZE
data that is no longer valid or
desired.
By default, the ANALYZE
command generates data on the number of entries in an index, as well as the ratio of unique values to total values. This ratio is computed by dividing the total number of entries by the number of unique values, ...
Get Using SQLite now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.