在线文档教程
Sqlite
C界面 | C Interface

Prepared Statement Scan Status

Prepared Statement Scan Status

int sqlite3_stmt_scanstatus( sqlite3_stmt *pStmt, /* Prepared statement for which info desired */ int idx, /* Index of loop to report on */ int iScanStatusOp, /* Information desired. SQLITE_SCANSTAT_* */ void *pOut /* Result written here */

该界面返回有关pStmt的预测和测量性能的信息。高级应用程序可以使用此界面来比较预测和测量的性能,并发现警告和/或重新运行ANALYZE(如果发现差异)。

由于此接口预计很少使用,因此只有在使用SQLITE_ENABLE_STMT_SCANSTATUS编译时选项编译SQLite时才可用。

“iScanStatusOp”参数确定要返回哪些状态信息。“iScanStatusOp”必须是scanstatus选项之一,或者此接口的行为未定义。所请求的测量值被写入由“pOut”参数指向的变量中。参数“idx”标识要检索统计信息的特定循环。循环从零开始编号。如果idx超出范围 - 小于零或大于或等于用于实现语句的循环总数则返回-非零值-,并且pOut指向的变量保持不变。

统计信息可能不适用于所有语句中的所有循环。在存在没有可用统计信息的循环的情况下,该函数的行为就像循环不存在一样 - 它返回非零值-并保留pOut指向的变量不变。