SQLite C 接口
准备好的语句扫描状态
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”必须是扫描状态选项之一,否则此接口的行为未定义。请求的测量值被写入“pOut”参数指向的变量中。参数“idx”标识要为其检索统计信息的特定循环。循环从零开始编号。如果 idx 超出范围 - 小于零或大于或等于用于实现语句的循环总数 - 返回非零值并且 pOut 指向的变量不变。
统计信息可能不适用于所有语句中的所有循环。在存在没有可用统计信息的循环的情况下,此函数的行为就像循环不存在一样 - 它返回非零值并保持 pOut 指向的变量不变。