我熟悉EXPLAIN和EXPLAIN QUERY PLAN命令。但是,这些命令只显示查询 * 将 * 如何执行。我希望能够将查询计划与实际执行的数据进行比较。特别是,我希望看到查询计划的每一步访问和返回的行数以及每一步所用的内存/CPU时间。
odopli941#
有sqlite3_stmt_scanstatus_v2,它可以在SQLite CLI中通过.scanstats命令获得,但是编译时选项SQLITE_ENABLE_STMT_SCANSTATUS是它工作所必需的,并且它不是默认选项。如果您的库版本是使用该选项集编译的,您还可以使用sqlite3_trace_v2在语句执行完成后自动收集统计信息。
.scanstats
SQLITE_ENABLE_STMT_SCANSTATUS
1条答案
按热度按时间odopli941#
有sqlite3_stmt_scanstatus_v2,它可以在SQLite CLI中通过
.scanstats
命令获得,但是编译时选项SQLITE_ENABLE_STMT_SCANSTATUS
是它工作所必需的,并且它不是默认选项。如果您的库版本是使用该选项集编译的,您还可以使用sqlite3_trace_v2在语句执行完成后自动收集统计信息。