使用“提交保留”会损害Firebird的性能吗?

杰克

下面引用的摘录在这一点上似乎是矛盾的。

(我认为它们都很老,第二个是2004年的,第一个提到Borland,所以也必须很老,所以也许它们已经过时了。)

第一个似乎表明,提交保留可以保持事务活动,因此会阻塞OIT。

第二,如果我理解这意味着保留提交,则将现有的TID标记为已提交,并且使事务保持活动状态,但是使用新的TID,因此不会粘在OIT上。第二部分摘录与Interbase有关,我不知道这是否解释了看似矛盾的地方。

Firebird文档摘录:

使用Firebird(和InterBase),“提交保留”会导致事务无限期保持有趣。在“标准” Borland RAD工具数据库应用程序和任何其他使用“提交保留”的应用程序上,垃圾收集实际上停止了。

Embarcadero博客文章摘录

读已提交,可读写:

如果您不时进行一次提交,则该事务可以永久运行,而不会对性能产生负面影响。

马克·罗特·韦尔

当您将提交保留(通过API或与一起使用COMMIT RETAIN)与Firebird一起使用时,已启动的事务并没有真正结束,它只是与内部已启动的新事务中的一组可见事务相关联,同时还保留了旧事务(s)活跃。

这意味着最老的有趣事务和最老的活动事务不会移动,并且回溯版本会累积,直到真正提交事务后才能进行垃圾回收。这意味着最终查询将需要扫描更长的记录版本链,这可能会对性能产生影响。

我假设可以进行一些优化,例如,如果没有在事务中启动的游标打开,则原始事务可能会被标记为已提交(提交保留的功能之一是在事务提交时不会关闭游标,这-如果我没记错的话-要求旧的交易环境保持可用)。这可能是InterBase为读取已提交的事务所做的事情。

可以通过启动isql会话并结合提交保留进行一些插入来亲自看到:如果gstat -h进行组合检查,您会注意到最有趣的最早事务和最活跃的事务在您真正提交之前不会移动。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用“提交保留”会损害Firebird的性能吗?

来自分类Dev

提交与提交保留

来自分类Dev

收费会损害程序性能吗?

来自分类Dev

“非本机”指针会损害缓存性能吗?

来自分类Dev

int vs long比较会损害Java的性能吗?

来自分类Dev

与完整名称空间相比,使用指令是否会损害性能或增加应用程序大小?

来自分类Dev

军用擦拭会损害SSD吗?

来自分类Dev

意外的断电会损害Linux的安装吗?

来自分类Dev

在CUDA中使用集合相交保留重复项

来自分类Dev

在免费的heroku dyno上托管我的多人HTML5游戏会损害我的网络性能吗?

来自分类Dev

可以按位移位具有不同类型的expression1 << expression2会损害性能吗?

来自分类Dev

MySQL-使用Ctrl-C中止查询会损害表吗?

来自分类Dev

从长远来看,使用Glassfish进行生产会损害我的应用程序吗?

来自分类Dev

双启动会损害笔记本电脑的电池或缩短其使用寿命吗?

来自分类Dev

使用的纹理数量会影响性能吗?

来自分类Dev

未使用的视图会降低性能吗?

来自分类Dev

在Java中,匿名内部类型是否会损害性能?

来自分类Dev

不断写入文件是否会损害程序的性能?

来自分类Dev

使用 rsync 备份会保留 ACL 吗?

来自分类Dev

将一些提交移动到功能分支,但将其他提交保留在主分支

来自分类Dev

包裹会损害颤振应用程序吗?

来自分类Dev

编辑MP3会损害质量吗?

来自分类Dev

许多Robocopy线程会损害常规硬盘吗?

来自分类Dev

Windows 10会重置对Ubuntu的损害吗?(双启动PC)

来自分类Dev

apt-get clean会损害您的系统吗?

来自分类Dev

Laravel4:从长远来看,不使用存储库模式会损害我的项目吗?

来自分类Dev

未使用的use语句会降低性能吗?

来自分类Dev

未使用的use语句会降低性能吗?

来自分类Dev

使用全局变量会影响MATLAB的性能吗?

Related 相关文章

  1. 1

    使用“提交保留”会损害Firebird的性能吗?

  2. 2

    提交与提交保留

  3. 3

    收费会损害程序性能吗?

  4. 4

    “非本机”指针会损害缓存性能吗?

  5. 5

    int vs long比较会损害Java的性能吗?

  6. 6

    与完整名称空间相比,使用指令是否会损害性能或增加应用程序大小?

  7. 7

    军用擦拭会损害SSD吗?

  8. 8

    意外的断电会损害Linux的安装吗?

  9. 9

    在CUDA中使用集合相交保留重复项

  10. 10

    在免费的heroku dyno上托管我的多人HTML5游戏会损害我的网络性能吗?

  11. 11

    可以按位移位具有不同类型的expression1 << expression2会损害性能吗?

  12. 12

    MySQL-使用Ctrl-C中止查询会损害表吗?

  13. 13

    从长远来看,使用Glassfish进行生产会损害我的应用程序吗?

  14. 14

    双启动会损害笔记本电脑的电池或缩短其使用寿命吗?

  15. 15

    使用的纹理数量会影响性能吗?

  16. 16

    未使用的视图会降低性能吗?

  17. 17

    在Java中,匿名内部类型是否会损害性能?

  18. 18

    不断写入文件是否会损害程序的性能?

  19. 19

    使用 rsync 备份会保留 ACL 吗?

  20. 20

    将一些提交移动到功能分支,但将其他提交保留在主分支

  21. 21

    包裹会损害颤振应用程序吗?

  22. 22

    编辑MP3会损害质量吗?

  23. 23

    许多Robocopy线程会损害常规硬盘吗?

  24. 24

    Windows 10会重置对Ubuntu的损害吗?(双启动PC)

  25. 25

    apt-get clean会损害您的系统吗?

  26. 26

    Laravel4:从长远来看,不使用存储库模式会损害我的项目吗?

  27. 27

    未使用的use语句会降低性能吗?

  28. 28

    未使用的use语句会降低性能吗?

  29. 29

    使用全局变量会影响MATLAB的性能吗?

热门标签

归档