gpt4 book ai didi

数据库 : Where does the data go before a commit?

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:40 24 4
gpt4 key购买 nike

我们正在尝试找出代码中的内存泄漏。随着软件的运行,我可以看到内存使用量慢慢地变得越来越大。每个操作都会在数据库中添加记录。

然后,我想知道,在我们提交更改之前,来自 INSERT 命令的数据到底去了哪里?数据是否添加到实际的数据库文件中并标记为“如果需要则回滚”?还是仅存储在内部存储器中并在提交请求完成时转储?

如果有帮助,我们现在正在使用 Access。

最佳答案

作为“开始交易”的一部分,这样的“数据”不会去任何地方或以任何方式改变,而是记录向它发出的命令列表。如果您随后使用“回滚”取消交易,指令将被删除并且不做任何更改,否则如果发出“提交”,则它会以正确的顺序执行保存的指令。

由于指令存储在本地表中(正如 Albert 所提到的),这就是为什么当本地文件完全打开到内存时您会看到内存增加的原因(因此我们在 Access 中将前端和后端数据库分开避免将大文件转储到 RAM 上)

另外值得一提的是,任何发出的 SQL 语句在保存之前都会检查其语法,以确保如果您正在运行多个 SQL;它不会中途失败并使您的数据处于您不希望的状态。

为“说明”道歉我知道这是外行人的术语,但我希望它有意义。

关于数据库 : Where does the data go before a commit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com