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.