【发布时间】:2015-07-12 21:14:51
【问题描述】:
我正在为我的 sqlite 日志记录数据库使用准备好的语句。
我的线程每 50 毫秒运行一次,将日志缓冲区中的内容写入数据库。
目前我正在为每个线程运行一个新的准备好的语句批处理,并在写入所有数据行后关闭它们。
现在我想知道是否最好将准备好的语句保留在内存中并仅在线程关闭/中断时关闭它?
我做这个预优化的原因是因为我希望这个日志线程尽可能少地干扰主应用程序的性能,我可以想象每 50 秒分配/解析/验证资源可能比将准备好的语句保存在内存中。
最后,我认为我的数据库中需要为各种日志类型准备大约 20-30 条准备好的语句。那么在需要时将它们初始化为新的准备好的语句会更好,还是我应该只初始化一次并将准备好的语句保留在内存中?
【问题讨论】: