Status Parameters for prepared statements
#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_MEMUSED 99
这些预处理器宏定义了与sqlite3_stmt_status()接口关联的计数器值的整数代码。各种计数器的含义如下:
SQLITE_STMTSTATUS_FULLSCAN_STEP这是SQLite作为全表扫描的一部分在表中向前迈进的次数。此计数器的大量数据可能表明通过仔细使用索引来提高性能的机会.SQLITE_STMTSTATUS_SORT这是发生的排序操作次数。此计数器中的非零值可能通过仔细使用索引来指示改进性能的机会.SQLITE_STMTSTATUS_AUTOINDEX这是插入到瞬时索引中的行数,这些索引是自动创建的,以帮助联接更快地运行。此计数器中的非零值可能表示通过添加永久性索引(每次运行语句时不需要重新初始化)来提高性能。SQLITE_STMTSTATUS_VM_STEP这是准备好的语句执行的虚拟机操作的数量(如果该数字小于或等于2147483647)。虚拟机操作的数量可以用作准备语句完成的全部工作的代理。如果虚拟机操作的数量超过2147483647,则此语句状态代码返回的值未定义。SQLITE_STMTSTATUS_REPREPARET这是由于模式更改或更改为可能影响查询计划的绑定参数而自动重新生成准备语句的次数。SQLITE_STMTSTATUS_RUN这是准备好的语句运行的次数。针对此计数器的单个“运行”是对sqlite3_step()的一次或多次调用,然后调用sqlite3_reset()。计数器在每个周期的第一个sqlite3_step()调用中递增。SQLITE_STMTSTATUS_MEMUSED这是用于存储预准备语句的堆内存的近似字节数。该值实际上不是计数器,因此当操作码为SQLITE_STMTSTATUS_MEMUSED时,忽略sqlite3_stmt_status()的resetFlg参数。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com