首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Status Parameters for prepared statements

代码语言:javascript
复制
#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参数。

扫码关注腾讯云开发者

领取腾讯云代金券