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

SQLite C 介面

預處理語句掃描狀態操作碼

#define SQLITE_SCANSTAT_NLOOP    0
#define SQLITE_SCANSTAT_NVISIT   1
#define SQLITE_SCANSTAT_EST      2
#define SQLITE_SCANSTAT_NAME     3
#define SQLITE_SCANSTAT_EXPLAIN  4
#define SQLITE_SCANSTAT_SELECTID 5
#define SQLITE_SCANSTAT_PARENTID 6
#define SQLITE_SCANSTAT_NCYCLE   7

以下常數可用於 sqlite3_stmt_scanstatus(S,X,T,V) 介面的 T 參數。每個常數指定 sqlite3_stmt_scanstatus() 返回的不同指標。

當返回給 V 的值是字串時,保存該字串的空間由預處理語句 S 管理,並將在 S 完成後自動釋放。

並非所有值都適用於所有查詢元素。當值不可用時,如果該值是數值,則輸出變數設定為 -1;如果是字串 (SQLITE_SCANSTAT_NAME),則設定為 NULL。

SQLITE_SCANSTAT_NLOOP
V 參數指向的 sqlite3_int64 變數將設定為第 X 個迴圈執行的總次數。

SQLITE_SCANSTAT_NVISIT
V 參數指向的 sqlite3_int64 變數將設定為第 X 個迴圈的所有迭代所檢查的總列數。

SQLITE_SCANSTAT_EST
V 參數指向的「double」變數將設定為查詢規劃器估計的第 X 個迴圈每次迭代輸出的平均列數。如果查詢規劃器的估計值準確,則此值將近似於商數 NVISIT/NLOOP,且先前所有具有相同 SELECTID 的迴圈的此值乘積將是目前迴圈的 NLOOP 值。

SQLITE_SCANSTAT_NAME
V 參數指向的「const char *」變數將設定為一個以零結尾的 UTF-8 字串,其中包含用於第 X 個迴圈的索引或表格的名稱。

SQLITE_SCANSTAT_EXPLAIN
V 參數指向的「const char *」變數將設定為一個以零結尾的 UTF-8 字串,其中包含第 X 個迴圈的 EXPLAIN QUERY PLAN 說明。

SQLITE_SCANSTAT_SELECTID
V 參數指向的「int」變數將設定為第 X 個查詢計劃元素的 ID。 ID 值在語句中是唯一的。 select-id 與 EXPLAIN QUERY PLAN 查詢的第一欄輸出的值相同。

SQLITE_SCANSTAT_PARENTID
V 參數指向的「int」變數將設定為目前查詢元素的父元素 ID(如果適用),如果查詢元素沒有父元素,則設定為零。這與 EXPLAIN QUERY PLAN 查詢的第二欄返回的值相同。

SQLITE_SCANSTAT_NCYCLE
sqlite3_int64 輸出值設定為處理查詢元素時根據處理器時間戳記計數器經過的週期數。此值並非適用於所有查詢元素 - 如果不可用,則輸出變數設定為 -1。

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