小巧。快速。可靠。
三者选其二。

SQLite C 接口

已弃用的跟踪和分析函数

void *sqlite3_trace(sqlite3*,
   void(*xTrace)(void*,const char*), void*);
void *sqlite3_profile(sqlite3*,
   void(*xProfile)(void*,const char*,sqlite3_uint64), void*);

这些例程已弃用。请使用 sqlite3_trace_v2() 接口,而不是此处描述的例程。

这些例程注册回调函数,可用于跟踪和分析 SQL 语句的执行。

由 sqlite3_trace() 注册的回调函数在 sqlite3_step() 运行 SQL 语句时被调用。当 SQL 语句开始执行时,sqlite3_trace() 回调会使用 SQL 语句文本的 UTF-8 呈现形式进行调用。当每个触发的子程序被调用时,可能会发生额外的 sqlite3_trace() 回调。触发器的回调包含一个 UTF-8 SQL 注释,用于标识触发器。

可以使用 SQLITE_TRACE_SIZE_LIMIT 编译时选项来限制 sqlite3_trace() 输出中 绑定参数 展开的长度。

由 sqlite3_profile() 注册的回调函数在每个 SQL 语句完成后被调用。配置文件回调包含原始语句文本和对该语句运行所需挂钟时间的估计。配置文件回调时间以纳秒为单位,但是当前实现仅支持毫秒级精度,因此时间中的最低 6 位数字毫无意义。SQLite 的未来版本可能会在分析器回调中提供更高的精度。调用 sqlite3_trace()sqlite3_trace_v2() 会取消配置文件回调。

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