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 指向的变量不变。

另见:sqlite3_stmt_scanstatus_reset()

另请参阅 对象常量函数的列表。