Small. Fast. Reliable.
Choose any three.

SQLite C接口

准备的语句扫描状态操作码

#定义SQLITE_SCANSTAT_NLOOP 0
#定义SQLITE_SCANSTAT_NVISIT 1
#定义SQLITE_SCANSTAT_EST 2
#定义SQLITE_SCANSTAT_NAME 3
#定义SQLITE_SCANSTAT_EXPLAIN 4
#定义SQLITE_SCANSTAT_SELECTID 5

以下常量可用于sqlite3_stmt_scanstatus(S,X,T,V)接口的T参数 。每个常量为sqlite3_stmt_scanstatus()返回指定一个不同的度量。

当返回给V的值是一个字符串时,保留该字符串的空间由准备好的语句S管理,并且在S最终确定时将自动释放。

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_SELECT
V参数指向的“ int”变量将在第X个循环中设置为“ select-id”。select-id标识循环属于哪个查询或子查询。主查询的选择ID为零。select-id与EXPLAIN QUERY PLAN查询的第一列中输出的值相同。

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