小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

資料庫連線狀態參數

#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_CACHE_SPILL         12
#define SQLITE_DBSTATUS_MAX                 12   /* 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_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
此參數回傳用於儲存與連線關聯的所有資料庫(主資料庫、暫存資料庫和任何附加的資料庫)之結構描述的堆積記憶體大約位元組數。即使結構描述記憶體因啟用共用快取模式而與其他資料庫連線共用,也會回報結構描述使用的完整記憶體量。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。

另請參閱物件常數函式列表。