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 语句时的不同时间被调用sqlite3_trace() 回调在语句首次开始执行时使用 SQL 语句文本的 UTF-8 呈现来调用。当输入每个触发的子程序时,可能会发生其他 sqlite3_trace() 回调。触发器的回调包含标识触发器的 UTF-8 SQL 注释。

SQLITE_TRACE_SIZE_LIMIT编译选项可用于限制sqlite3_trace() 输出中绑定参数扩展的长度。

由 sqlite3_profile() 注册的回调函数在每个 SQL 语句完成时被调用。配置文件回调包含原始语句文本和该语句运行多长时间的挂钟时间估计。配置文件回调时间以纳秒为单位,但是当前的实现只能以毫秒为单位,因此时间中的最低六位数字无意义。未来版本的 SQLite 可能会提供更好的分析器回调解决方案。调用sqlite3_trace()sqlite3_trace_v2()将取消配置文件回调。

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