Sqlite 的查询计划

Posted

技术标签:

【中文标题】Sqlite 的查询计划【英文标题】:Query plan For Sqlite 【发布时间】:2011-01-23 20:46:06 【问题描述】:

Sqlite 是否为复杂查询创建“查询计划”? (我知道 mysql 创建一个并选择不同的可用组合中最好的一个来执行查询)。有什么办法可以像我通常在 mysql 中那样获得last_query_cost。由于我的应用程序需要一些资源,我正在尝试从 mysql 迁移到 sqlite。

【问题讨论】:

How can I analyse a Sqlite query execution?的可能重复 问题不在于 sqllite 是否真的支持查询估计器/查询计划优化器并具有像 last_query_cost 这样的变量。 【参考方案1】:

SQLite 支持EXPLAIN keyword,与 MySQL 类似,但语法略有不同:

EXPLAIN QUERY PLAN SELECT col FROM YOUR_TABLE

【讨论】:

感谢您的回复。 sqlite中是否有任何相当于last_query_cost(适用于mysql)的东西? @user530928:我不能在文档中看到。 SQLite 没有 MySQL 那么多的功能,因为它主要用作嵌入式数据库——占用空间更小。

以上是关于Sqlite 的查询计划的主要内容,如果未能解决你的问题,请参考以下文章

DB引擎如何决定JOIN操作的查询计划?

sqlite的缺点和限制

开源社区行为准则风波不断,SQLite 遭批评;OpenJDK 源码计划迁移至 GitHub

SQLite 3.37.0 发布,支持严格的字段数据类型

Android Xamarin-使用SQLite时打开计划的通知会停止重复并崩溃

sqlite显示查询所消耗时间