小巧、快速、可靠。
三选其二。

SQLite C 接口

状态参数

#define SQLITE_STATUS_MEMORY_USED          0
#define SQLITE_STATUS_PAGECACHE_USED       1
#define SQLITE_STATUS_PAGECACHE_OVERFLOW   2
#define SQLITE_STATUS_SCRATCH_USED         3  /* NOT USED */
#define SQLITE_STATUS_SCRATCH_OVERFLOW     4  /* NOT USED */
#define SQLITE_STATUS_MALLOC_SIZE          5
#define SQLITE_STATUS_PARSER_STACK         6
#define SQLITE_STATUS_PAGECACHE_SIZE       7
#define SQLITE_STATUS_SCRATCH_SIZE         8  /* NOT USED */
#define SQLITE_STATUS_MALLOC_COUNT         9

这些整型常量代表各种运行时状态参数,这些参数可以由 sqlite3_status() 返回。

SQLITE_STATUS_MEMORY_USED
此参数是当前使用 sqlite3_malloc() 检查的内存量,无论是直接还是间接。该数字包括应用程序对 sqlite3_malloc() 的调用和 SQLite 库的内部内存使用情况。由 SQLITE_CONFIG_PAGECACHE 控制的辅助页面缓存内存不包括在此参数中。返回的量是 sqlite3_mem_methods 中 xSize 方法报告的分配大小之和。

SQLITE_STATUS_MALLOC_SIZE
此参数记录传递给 sqlite3_malloc()sqlite3_realloc()(或其内部等效项)的最大内存分配请求。只有返回到 sqlite3_status() 的 *pHighwater 参数中的值才是有意义的。写入 *pCurrent 参数的值是未定义的。

SQLITE_STATUS_MALLOC_COUNT
此参数记录当前检查的单独内存分配数。

SQLITE_STATUS_PAGECACHE_USED
此参数返回使用 SQLITE_CONFIG_PAGECACHE 配置的 页面缓存内存分配器 中使用的页面数。返回值以页面为单位,而不是字节。

SQLITE_STATUS_PAGECACHE_OVERFLOW
此参数返回无法由 SQLITE_CONFIG_PAGECACHE 缓冲区满足且必须溢出到 sqlite3_malloc() 的页面缓存分配的字节数。返回值包括因大小过大而溢出的分配(它们大于 SQLITE_CONFIG_PAGECACHE 的 "sz" 参数)和因页面缓存中没有空间而溢出的分配。

SQLITE_STATUS_PAGECACHE_SIZE
此参数记录传递给 页面缓存内存分配器 的最大内存分配请求。只有返回到 sqlite3_status() 的 *pHighwater 参数中的值才是有意义的。写入 *pCurrent 参数的值是未定义的。

SQLITE_STATUS_SCRATCH_USED
不再使用。

SQLITE_STATUS_SCRATCH_OVERFLOW
不再使用。

SQLITE_STATUS_SCRATCH_SIZE
不再使用。

SQLITE_STATUS_PARSER_STACK
*pHighwater 参数记录最深的解析器堆栈。*pCurrent 值是未定义的。*pHighwater 值只有在 SQLite 使用 YYTRACKMAXSTACKDEPTH 编译时才有意义。

可能不定期添加新的状态参数。

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