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

SQLite C 介面

已準備語句的狀態參數

#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_FILTER_MISS       7
#define SQLITE_STMTSTATUS_FILTER_HIT        8
#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_REPREPARE
這是由於結構描述變更或可能影響查詢計劃的繫結參數變更而自動重新產生已準備語句的次數。

SQLITE_STMTSTATUS_RUN
這是已準備語句已執行的次數。就這個計數器而言,單次「執行」是指一次或多次呼叫 sqlite3_step() 後接著呼叫 sqlite3_reset()。計數器會在每個週期的第一次 sqlite3_step() 呼叫時遞增。

SQLITE_STMTSTATUS_FILTER_HIT
SQLITE_STMTSTATUS_FILTER_MISS
SQLITE_STMTSTATUS_FILTER_HIT 是由於布隆過濾器返回未找到而略過聯結步驟的次數。相對應的 SQLITE_STMTSTATUS_FILTER_MISS 值是布隆過濾器返回找到的次數,因此必須照常處理聯結步驟。

SQLITE_STMTSTATUS_MEMUSED
這是用於儲存已準備語句的大約堆積記憶體位元組數。此值實際上不是計數器,因此當操作碼為 SQLITE_STMTSTATUS_MEMUSED 時,會忽略 sqlite3_stmt_status() 的 resetFlg 參數。

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