SQLite3中的“预先准备”语句?

时间:2011-05-11 21:16:46

标签: sqlite

在具有固定查询集的内存受限的嵌入式系统中使用SQLite,如果查询可以“预先准备好”,似乎可以节省代码和数据。也就是说,准备好的语句是由(等效于) build 时的sqlite3_prepare_v2()生成的,并且只需要在运行时调用_bind(),_ step()等,引用一个或多个sqlite3_stmt *指针是有效的静态数据。可以从目标中删除整个SQL解析(和查询计划?)引擎。

我意识到sqlite3_stmt *指针背后隐藏着相当大的复杂性,并且这在当前的sqlite3实现中极不可能实用 - 但这个概念是否可行?

1 个答案:

答案 0 :(得分:3)

这是2006年SQLite用户邮件列表上的discussed。当时D. Richard Hipp支持SQLite的商业版本,该版本在精简目标上运行编译语句,该目标没有任何SQL解析器。也许您可以查看hwaci以查看此产品是否仍然可用。