我正在使用C ++项目中的一些SQLite代码,该项目有几百个预编译语句一次编译,在相同数量的表上执行操作。所有语句都是简单的选择和更新,但表的个性化特性需要相应的特定SQL,因此尝试为多个表重用较少的语句是不现实的。这些语句通常在程序的生命周期内编译一次,并在退出时完成。就并发性而言,最多只能在自己的线程上同时执行两到三个语句。
随着表格(以及语句)的数量预计会在整个开发过程中不断增长,我希望在事情变得复杂之前了解这个设计的任何潜在问题。有这么多的陈述对我来说感觉像代码味道,更不用说潜在的调试噩梦了。
我没有在文档中找到有关预准备语句限制的任何内容。单个SQLite数据库连接的预准备语句数是否有任何实际限制?大量准备好的语句会导致性能问题吗?
答案 0 :(得分:2)
预备语句不需要太多内存。 虽然优化掉SQL解析开销可能不值得付出努力,但它不会受到伤害。