gpt4 book ai didi

java - 高效的日志记录系统——Java/Oracle SQL

转载 作者:行者123 更新时间:2023-11-29 06:08:13 27 4
gpt4 key购买 nike

全部,

我必须重新设计 Web 应用程序中使用的现有日志记录系统。现有系统读取Excel表格记录,处理(数据验证),一旦发现错误,就将Excel表格中每个条目的错误信息记录到数据库中,并在最后显示所有记录的结果。所以,

如果我在 excelsheet 中有 2 条记录,R1 和 R2,均失败,各有 3 个验证错误,插入查询针对每个验证消息触发 6 次,用户在验证过程结束时看到所有 6 条消息.

此方法适用于较小的条目集。但是对于20000条记录来说,这显然已经成为了一个瓶颈。

根据我最初的重新设计方法,以下是我需要来自 SO 的每个人的建议的选项:

1> 使用记录所需的所有信息创建一个自定义记录器类,对于每条错误记录,将记录 ID 作为键存储,将 Logger 类对象作为值存储在 HashMap 中。当所有记录处理完毕后,一次性对HashMap中的所有记录进行数据库插入。

2> 周期性触发SQL插入即总共X条记录,每次处理Y <= X条记录,执行一次插入操作。并再次处理剩余的记录。

除了明确提高性能外,我们目前确实没有设定标准。

关于什么是高效的日志系统设计以及是否有比我上面提到的更好的方法,每个人都可以提供您的反馈吗?

最佳答案

我猜你的问题是由于你正在进行基于行的操作,而不是基于集合的操作?

基于集合的操作将是加载数据的最快方式。如果那不可能,我会一次插入 x 条记录,因为它更具可扩展性,一次插入所有记录将需要不断增加的内存量(但可能会更快)。

这里对问汤姆的讨论很好:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1583402705463

关于java - 高效的日志记录系统——Java/Oracle SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7911326/

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