xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_STMTSTATUS_FULLSCAN_STEP.3 (revision d16b7486a53dcb8072b60ec6fcb4373a2d0c27b7)
1.Dd December 19, 2018
2.Dt SQLITE_STMTSTATUS_FULLSCAN_STEP 3
3.Os
4.Sh NAME
5.Nm SQLITE_STMTSTATUS_FULLSCAN_STEP ,
6.Nm SQLITE_STMTSTATUS_SORT ,
7.Nm SQLITE_STMTSTATUS_AUTOINDEX ,
8.Nm SQLITE_STMTSTATUS_VM_STEP ,
9.Nm SQLITE_STMTSTATUS_REPREPARE ,
10.Nm SQLITE_STMTSTATUS_RUN ,
11.Nm SQLITE_STMTSTATUS_MEMUSED
12.Nd Status Parameters for prepared statements
13.Sh SYNOPSIS
14.Fd #define SQLITE_STMTSTATUS_FULLSCAN_STEP
15.Fd #define SQLITE_STMTSTATUS_SORT
16.Fd #define SQLITE_STMTSTATUS_AUTOINDEX
17.Fd #define SQLITE_STMTSTATUS_VM_STEP
18.Fd #define SQLITE_STMTSTATUS_REPREPARE
19.Fd #define SQLITE_STMTSTATUS_RUN
20.Fd #define SQLITE_STMTSTATUS_MEMUSED
21.Sh DESCRIPTION
22These preprocessor macros define integer codes that name counter values
23associated with the sqlite3_stmt_status() interface.
24The meanings of the various counters are as follows:
25.Bl -tag -width Ds
26.It SQLITE_STMTSTATUS_FULLSCAN_STEP
27This is the number of times that SQLite has stepped forward in a table
28as part of a full table scan.
29Large numbers for this counter may indicate opportunities for performance
30improvement through careful use of indices.
31.It SQLITE_STMTSTATUS_SORT
32This is the number of sort operations that have occurred.
33A non-zero value in this counter may indicate an opportunity to improvement
34performance through careful use of indices.
35.It SQLITE_STMTSTATUS_AUTOINDEX
36This is the number of rows inserted into transient indices that were
37created automatically in order to help joins run faster.
38A non-zero value in this counter may indicate an opportunity to improvement
39performance by adding permanent indices that do not need to be reinitialized
40each time the statement is run.
41.It SQLITE_STMTSTATUS_VM_STEP
42This is the number of virtual machine operations executed by the prepared
43statement if that number is less than or equal to 2147483647.
44The number of virtual machine operations can be used as a proxy for
45the total work done by the prepared statement.
46If the number of virtual machine operations exceeds 2147483647 then
47the value returned by this statement status code is undefined.
48.It SQLITE_STMTSTATUS_REPREPARE
49This is the number of times that the prepare statement has been automatically
50regenerated due to schema changes or change to bound parameters
51that might affect the query plan.
52.It SQLITE_STMTSTATUS_RUN
53This is the number of times that the prepared statement has been run.
54A single "run" for the purposes of this counter is one or more calls
55to sqlite3_step() followed by a call to sqlite3_reset().
56The counter is incremented on the first sqlite3_step()
57call of each cycle.
58.It SQLITE_STMTSTATUS_MEMUSED
59This is the approximate number of bytes of heap memory used to store
60the prepared statement.
61This value is not actually a counter, and so the resetFlg parameter
62to sqlite3_stmt_status() is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED.
63.El
64.Pp
65.Sh SEE ALSO
66.Xr sqlite3_reset 3 ,
67.Xr sqlite3_step 3 ,
68.Xr sqlite3_stmt_status 3
69