在具有固定查询集的内存受限嵌入式系统中使用 SQLite,如果可以“预先准备”查询,则似乎可以节省代码和数据。也就是说,准备好的语句是由(相当于)sqlite3_prepare_v2() 在build运行时只需要调用 _bind()、_step() 等,引用一个或多个实际上是静态数据的 sqlite3_stmt* 指针。整个 SQL 解析(和查询规划?)引擎可以从目标中消除。
我意识到 sqlite3_stmt* 指针背后隐藏着相当大的复杂性,并且这对于当前的 sqlite3 实现来说不太可能实用 - 但这个概念是否可行?
这是讨论过 http://www.mail-archive.com/sqlite-users@sqlite.org/msg17562.html2006 年出现在 SQLite 用户邮件列表中。当时,D. Richard Hipp 支持 SQLite 的商业版本,该版本在没有任何 SQL 解析器的精简目标上运行已编译的语句。也许你可以检查一下hwaci http://www.hwaci.com/sw/sqlite/prosupport.html查看该产品是否仍然可用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)