Status Parameters for database connections
Status Parameters for database connections
#define SQLITE_DBSTATUS_LOOKASIDE_USED 0
#define SQLITE_DBSTATUS_CACHE_USED 1
#define SQLITE_DBSTATUS_SCHEMA_USED 2
#define SQLITE_DBSTATUS_STMT_USED 3
#define SQLITE_DBSTATUS_LOOKASIDE_HIT 4
#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5
#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6
#define SQLITE_DBSTATUS_CACHE_HIT 7
#define SQLITE_DBSTATUS_CACHE_MISS 8
#define SQLITE_DBSTATUS_CACHE_WRITE 9
#define SQLITE_DBSTATUS_DEFERRED_FKS 10
#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11
#define SQLITE_DBSTATUS_MAX 11 /* Largest defined DBSTATUS */
这些常量是可用的整数“动词”,可以作为第二个参数传递给sqlite3_db_status()接口。
在未来的SQLite版本中可能会添加新的动词。现有的动词可能会停止。应用程序应检查来自sqlite3_db_status()的返回码以确保该调用正常工作。如果调用停用或不支持的动词,sqlite3_db_status()接口将返回一个非零错误代码。
SQLITE_DBSTATUS_LOOKASIDE_USED此参数返回当前检出的后备内存插槽的数量。SQLITE_DBSTATUS_LOOKASIDE_HIT此参数返回使用后备内存满足的malloc尝试次数。只有高水价才有意义; 当前值始终为零。SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZET此参数返回可能已使用后备内存满足的malloc尝试次数,但由于请求的内存量大于后备插槽大小而失败。只有高水价才有意义; 当前值始终为零。SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL此参数返回可能已使用后备内存满足的malloc尝试次数,但由于所有后备内存已被使用而失败。只有高水价才有意义; 当前值始终为零。SQLITE_DBSTATUS_CACHE_USED此参数返回与数据库连接关联的所有分页器高速缓存使用的堆内存的近似字节数。与SQLITE_DBSTATUS_CACHE_USED关联的高位标记始终为0. SQLITE_DBSTATUS_CACHE_USED_SHARED此参数与DBSTATUS_CACHE_USED相似,只是如果在两个或多个连接之间共享一个分页器高速缓存,则该分页器高速缓存使用的堆内存字节将在所连接的连接之间均匀分配。换句话说,如果没有与数据库连接关联的寻呼机高速缓存被共享,则该请求将返回与DBSTATUS_CACHE_USED相同的值。或者,如果共享一个或多个寻呼机缓存,则此调用返回的值将小于DBSTATUS_CACHE_USED返回的值。与SQLITE_DBSTATUS_CACHE_USED_SHARED关联的高位标记始终为0. SQLITE_DBSTATUS_SCHEMA_USED此参数返回用于存储与连接关联的所有数据库(主数据库,临时数据库和任何ATTACH数据库)的模式的堆内存的近似字节数。由于启用了共享缓存模式,即使架构内存与其他数据库连接共享,也会报告架构使用的全部内存量。与SQLITE_DBSTATUS_SCHEMA_USED关联的高位标记始终为0. SQLITE_DBSTATUS_STMT_USED此参数返回所有与数据库连接关联的预准备语句所使用的堆栈和后备存储器的近似字节数。与SQLITE_DBSTATUS_STMT_USED关联的高位标记始终为0。SQLITE_DBSTATUS_CACHE_HIT此参数返回已发生的分页程序高速缓存命中数。与SQLITE_DBSTATUS_CACHE_HIT关联的高位标记始终为0. SQLITE_DBSTATUS_CACHE_MISST此参数返回已发生的寻呼机高速缓存未命中的数量。与SQLITE_DBSTATUS_CACHE_MISS关联的高位标记始终为0. SQLITE_DBSTATUS_CACHE_WRITET此参数返回已写入磁盘的脏缓存条目数。具体而言,写入沃尔沃模式数据库中沃尔沃文件的页面数量,或回滚模式数据库中写入数据库文件的页面数量。不包括任何作为事务回滚或数据库恢复操作的一部分写入的页面。如果在将页面写入磁盘时发生IO或其他错误,对随后的SQLITE_DBSTATUS_CACHE_WRITE请求的影响是未定义的。与SQLITE_DBSTATUS_CACHE_WRITE关联的高位标记始终为0. SQLITE_DBSTATUS_DEFERRED_FKST此参数在当且仅当已解析所有外键约束(延迟或立即)时返回当前值的零。高位标记始终为0。