Small. Fast. Reliable.
Choose any three.

SQLite C接口

数据库连接的状态参数

#定义SQLITE_DBSTATUS_LOOKASIDE_USED 0
#定义SQLITE_DBSTATUS_CACHE_USED 1
#定义SQLITE_DBSTATUS_SCHEMA_USED 2
#定义SQLITE_DBSTATUS_STMT_USED 3
#定义SQLITE_DBSTATUS_LOOKASIDE_HIT 4
#定义SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5
#定义SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6
#定义SQLITE_DBSTATUS_CACHE_HIT 7
#定义SQLITE_DBSTATUS_CACHE_MISS 8
#定义SQLITE_DBSTATUS_CACHE_WRITE 9
#定义SQLITE_DBSTATUS_DEFERRED_FKS 10
#定义SQLITE_DBSTATUS_CACHE_USED_SHARED 11
#定义SQLITE_DBSTATUS_CACHE_SPILL 12
#define SQLITE_DBSTATUS_MAX 12 / *最大定义的DBSTATUS * /

这些常量是可用的整数“动词”,可以作为第二个参数传递给sqlite3_db_status()接口。

将来的SQLite版本中可能会添加新的动词。现有的动词可能会中断。应用程序应检查来自sqlite3_db_status()的返回码, 以确保该调用有效。所述sqlite3_db_status()如果一个中断或不支持的动词被调用接口将返回非零错误代码。

SQLITE_DBSTATUS_LOOKASIDE_USED
此参数返回当前检出的后备内存插槽的数量。

SQLITE_DBSTATUS_LOOKASIDE_HIT
此参数返回使用后备内存满足的malloc尝试次数。只有高水价才有意义。当前值始终为零。

SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE
此参数返回使用后备内存可能已满足但由于请求的内存量大于后备插槽大小而失败的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_MISS
此参数返回已发生的寻呼机高速缓存未命中的数量。与SQLITE_DBSTATUS_CACHE_MISS关联的高水位线始终为0。

SQLITE_DBSTATUS_CACHE_WRITE
此参数返回已写入磁盘的脏缓存条目数。具体来说,是在wal模式数据库中写入wal文件的页面数,或在回滚模式数据库中写入数据库文件的页面数。不包括作为事务回滚或数据库恢复操作的一部分编写的任何页面。如果将页面写入磁盘时发生IO或其他错误,则对后续SQLITE_DBSTATUS_CACHE_WRITE请求的影响是不确定的。与SQLITE_DBSTATUS_CACHE_WRITE关联的高水位线始终为0。

SQLITE_DBSTATUS_CACHE_SPILL
此参数返回由于页面高速缓存溢出而在事务中间写入磁盘的脏高速缓存条目数。如果将事务全部一次写入磁盘,则交易效率更高。当页面溢出事务中时,这会带来额外的开销。此参数可用于帮助确定可以通过增加缓存大小来解决的效率低下的问题。

SQLITE_DBSTATUS_DEFERRED_FKS
当且仅当已解决所有外键约束(延迟或即时)时,此参数针对当前值返回零。高水位标记始终为0。

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