gpt4 book ai didi

oracle - 通过设计克服 'log file sync'?

转载 作者:行者123 更新时间:2023-12-04 07:01:08 25 4
gpt4 key购买 nike

一些应用程序设计所需的建议/建议。

我有一个应用程序,它使用 2 个表,一个是一个临时表,许多单独的进程写入该表,一旦“一组”进程完成,另一个工作就会将结果汇总到一个最终表中,然后删除那个“group' 来自临时表。

我遇到的问题是,当临时表被清除时,会生成大量重做,并且我在数据库中看到大量“日志文件同步”等待。这是一个与许多其他应用程序共享的数据库,这会导致一些问题。

应用聚合时,对于临时表中的每 20 行,最终表中的行将减少到大约 1 行。

我正在考虑通过而不是拥有一个“临时”表来解决这个问题,我将为每个“组”创建一个表。一旦完成,这个表就可以被删除,这应该会导致更少的重做。

我只有 SE,所以不能选择分区表。此外,在短期内,用于重做的更快磁盘也可能不是一种选择。

这是一个坏主意吗?有没有更好的解决方案?

谢谢。

最佳答案

是否可以通过让您的进程执行逻辑删除(即将表中的 DELETE_FLAG 列设置为“Y”)然后进行夜间进程来截断表(可能写入任何未删除的行)来解决问题在截断之前到一个单独的表,然后在表被截断后将它们复制回来)?

您确定日志文件同步等待的来源是您的磁盘跟不上 I/O 吗?当然,这当然是可能的,但是还有其他可能的原因导致过多的日志文件同步等待,包括过多的提交。 tuning log file sync events上有一篇很棒的文章在 Pythian 博客上。

关于oracle - 通过设计克服 'log file sync'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1810200/

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