Small. Fast. Reliable.
Choose any three.

SQLite C接口

准备好的语句的状态参数

#定义SQLITE_STMTSTATUS_FULLSCAN_STEP 1
#定义SQLITE_STMTSTATUS_SORT 2
#定义SQLITE_STMTSTATUS_AUTOINDEX 3
#定义SQLITE_STMTSTATUS_VM_STEP 4
#定义SQLITE_STMTSTATUS_REPREPARE 5
#定义SQLITE_STMTSTATUS_RUN 6
#定义SQLITE_STMTSTATUS_MEMUSED 99

这些预处理器宏定义整数代码,这些整数代码命名与sqlite3_stmt_status()接口关联的计数器值。各种计数器的含义如下:

SQLITE_STMTSTATUS_FULLSCAN_STEP
这是SQLite作为全表扫描的一部分在表中前进的次数。此计数器的大数字可能表示通过谨慎使用索引可以改善性能。

SQLITE_STMTSTATUS_SORT
这是已发生的排序操作的数量。此计数器中的非零值可能表示有机会通过谨慎使用索引来提高性能。

SQLITE_STMTSTATUS_AUTOINDEX
这是插入到临时索引中的行数,这些索引是自动创建的,以帮助联接更快地运行。此计数器中的非零值可能表示通过添加不需要在每次运行语句时都需要重新初始化的永久索引来提高性能的机会。

SQLITE_STMTSTATUS_VM_STEP
如果该数目小于或等于2147483647,则这是由准备好的语句执行的虚拟机操作的数量。虚拟机操作的数量可以用作由准备好的语句完成的全部工作的代理。如果虚拟机操作的数量超过2147483647,则此语句状态代码返回的值是不确定的。

SQLITE_STMTSTATUS_REPREPARE
这是由于架构更改或绑定参数更改(可能影响查询计划)而自动重新生成prepare语句的次数 。

SQLITE_STMTSTATUS_RUN
这是准备好的语句已运行的次数。就此计数器而言,单个“运行”是对sqlite3_step()的一个或多个调用,然后是对sqlite3_reset()的调用。在每个周期的第一个sqlite3_step()调用中,计数器都会递增。

SQLITE_STMTSTATUS_MEMUSED
这是用于存储准备好的语句的堆内存的大约字节数。该值实际上不是计数器,因此当操作码为SQLITE_STMTSTATUS_MEMUSED时,sqlite3_stmt_status()的resetFlg参数将被忽略。

另请参见 对象常量函数的列表