Pie*_*ier 5 database ms-access
我们正在尝试查找代码中的内存泄漏。随着软件运行,我可以看到内存使用量慢慢变得越来越大。每个操作都会在数据库中添加记录。
然后,我想知道,在我们提交更改之前,INSERT 命令中的数据到底去了哪里?数据是否添加到实际数据库文件中并标记为“如果请求则回滚”?或者仅存储在内部存储器中并在提交请求完成时转储?
如果有帮助,我们现在使用 Access。
作为“开始事务”的一部分,“数据”本身不会去任何地方或以任何方式改变,而是记录向其发出的命令列表。如果您随后使用“回滚”取消事务,则指令将被删除并且不进行任何更改,否则如果发出“提交”,则它将按正确的顺序执行已保存的指令。
由于指令存储在本地表中(正如 Albert 提到的),这就是为什么当本地文件完全打开到内存时您会看到内存增加(因此我们在 Access 中拆分前端和后端数据库以避免转储RAM 上的大文件)
还值得一提的是,发出的任何 SQL 语句在保存之前都会进行语法检查,以确保您运行多个 SQL 时;它不会中途失败并使您的数据处于您不希望的状态。
对“说明”的歉意我知道这是外行术语,但我希望它有意义。