 
Small. Fast. Reliable.
Choose any three.
 
#define SQLITE_STMTSTATUS_FULLSCAN_STEP     1
#define SQLITE_STMTSTATUS_SORT              2
#define SQLITE_STMTSTATUS_AUTOINDEX         3
#define SQLITE_STMTSTATUS_VM_STEP           4
#define SQLITE_STMTSTATUS_REPREPARE         5
#define SQLITE_STMTSTATUS_RUN               6
#define SQLITE_STMTSTATUS_FILTER_MISS       7
#define SQLITE_STMTSTATUS_FILTER_HIT        8
#define SQLITE_STMTSTATUS_MEMUSED           99
These preprocessor macros define integer codes that name counter
values associated with the sqlite3_stmt_status() interface.
The meanings of the various counters are as follows:
 - SQLITE_STMTSTATUS_FULLSCAN_STEP
- 
R-17341-41375:[This is the number of times that SQLite has stepped forward in
a table as part of a full table scan.
]
  Large numbers for this counter
may indicate opportunities for performance improvement through
careful use of indices.
 
- SQLITE_STMTSTATUS_SORT
- 
R-29161-24939:[This is the number of sort operations that have occurred.
]
A non-zero value in this counter may indicate an opportunity to
improvement performance through careful use of indices.
 
- SQLITE_STMTSTATUS_AUTOINDEX
- 
R-14672-19530:[This is the number of rows inserted into transient indices that
were created automatically in order to help joins run faster.
]
A non-zero value in this counter may indicate an opportunity to
improvement performance by adding permanent indices that do not
need to be reinitialized each time the statement is run.
 
- SQLITE_STMTSTATUS_VM_STEP
- 
R-46780-34130:[This is the number of virtual machine operations executed
by the prepared statement if that number is less than or equal
to 2147483647.
]
  The number of virtual machine operations can be
used as a proxy for the total work done by the prepared statement.
If the number of virtual machine operations exceeds 2147483647
then the value returned by this statement status code is undefined.
  
- SQLITE_STMTSTATUS_REPREPARE
- 
R-54913-41491:[This is the number of times that the prepare statement has been
automatically regenerated due to schema changes or changes to
bound parameters that might affect the query plan.
]
  
- SQLITE_STMTSTATUS_RUN
- 
R-22511-33242:[This is the number of times that the prepared statement has
been run.
]
  A single "run" for the purposes of this counter is one
or more calls to sqlite3_step() followed by a call to sqlite3_reset().
The counter is incremented on the first sqlite3_step() call of each
cycle.
 
- SQLITE_STMTSTATUS_FILTER_HIT
 SQLITE_STMTSTATUS_FILTER_MISS
- 
R-23138-20648:[SQLITE_STMTSTATUS_FILTER_HIT is the number of times that a join
step was bypassed because a Bloom filter returned not-found.
]
  The
corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
times that the Bloom filter returned a find, and thus the join step
had to be processed as normal.
  
- SQLITE_STMTSTATUS_MEMUSED
- 
R-61862-04293:[This is the approximate number of bytes of heap memory
used to store the prepared statement.
]
  
R-17403-41821:[This value is not actually
a counter, and so the resetFlg parameter to sqlite3_stmt_status()
is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED.
]
See also lists of
  Objects,
  Constants, and
  Functions.