2011-05-11 102 views
2

使用與一組固定的查詢的存儲器中受限的嵌入式系統的SQLite,似乎代碼和數據積蓄可以作出如果查詢可以是「預先製備」。也就是說,準備的語句是由(的等效)sqlite3_prepare_v2()在構建時間只有_bind()產生,並且,_step()等需要在運行時被調用,引用一個或多個sqlite3_stmt *指針是有效的靜態數據。整個SQL解析(和查詢規劃?)引擎可以從目標中刪除。SQLite3中的「預先準備好」語句?

我意識到隱藏在sqlite3_stmt *指針後面的相當複雜,並且這對目前的sqlite3實現來說不太可能實用 - 但這個概念是否可行?

回答

3

這是2006年SQLite用戶郵件列表上的discussed。當時,D. Richard Hipp支持SQLite的商業版本,該版本在剝離目標上運行編譯語句,該目標沒有任何SQL語法分析器。也許你可以檢查hwaci,看看這個產品是否仍然可用。

+0

感謝道格 - 大加讚賞。 – Jeremy 2011-05-12 09:11:41