Tracing And Profiling Functions
Tracing And Profiling Functions
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_profile()函数被认为是实验性的,并且在未来版本的SQLite中可能会发生变化。
SQLite is in the Public Domain.