微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlite_stat1表的说明

我正在尝试诊断为什么特定查询sqlite的速度很慢.关于 how the query optimizer works似乎有很多信息,但关于如何实际诊断问题的信息很少.

特别是,当我分析数据库时,我得到了预期的sqlite_stat1表,但我不知道stat列告诉我什么.示例行是:

MyTable,ix_id,25112 1 1 1 1

“25112 1 1 1 1”究竟是什么意思?

作为一个更广泛的问题,有没有人有关于诊断sqlite查询性能的最佳工具和技术的任何好资源?

谢谢

来自analyze.c:
/* Store the results.  
**
** The result is a single row of the sqlite_stmt1 table.  The first
** two columns are the names of the table and index.  The third column
** is a string composed of a list of integer statistics about the
** index.  The first integer in the list is the total number of entires
** in the index.  There is one additional integer in the list for each
** column of the table.  This additional integer is a guess of how many
** rows of the table the index will select.  If D is the count of distinct
** values and K is the total number of rows,then the integer is computed
** as:
**
**        I = (K+D-1)/D
**
** If K==0 then no entry is made into the sqlite_stat1 table.  
** If K>0 then it is always the case the D>0 so division by zero
** is never possible.

原文地址:https://www.jb51.cc/sqlite/197698.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐