sqlite3执行命令时占用大量内存用到哪去了?

xiang90721 2017-10-14 03:33:03
在使用sqlite3进行开发过程中 ,使用sqlite3_exec执行操作时会消耗大量内存,而且所占用的内存会一直占用直到数据库关闭才释放,所以这部分内存是用来做什么了?哪位大神清楚可以指点下?

原本以为数据库为效率是将操作先缓存在内存,直到提交事务时写入文件,像如下这样操作
sqlite3_exec(db,"begin",0,0)
//执行相关操作
sqlite3_exec(db,"commit",0,0)

这样的话提交事务后应该释放这部分内存,但实际并没有。。。。所以这部分就不理解了,想问这部分内存具体用作干嘛了?是数据库机制问题么?是否可以修改不让消耗这么大内存么?
...全文
713 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 xiang90721 的回复:
[quote=引用 1 楼 zjq9931 的回复:] 用来缓存数据的啊。 可以加快查询速度啊。
如果是为了缓存数据,这个内存大小是否可以设置呢?因为测试过程中发现,这个内存增长达到一定值后就稳定不再增长了[/quote] 抱歉,详细的我并不了解。 个人感觉应当是可以设定的,但是怎么设定我不知道,也许不能,是软件已经定义好的。
xiang90721 2017-10-15
  • 打赏
  • 举报
回复
引用 1 楼 zjq9931 的回复:
用来缓存数据的啊。 可以加快查询速度啊。
如果是为了缓存数据,这个内存大小是否可以设置呢?因为测试过程中发现,这个内存增长达到一定值后就稳定不再增长了
  • 打赏
  • 举报
回复
用来缓存数据的啊。 可以加快查询速度啊。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧