Arrays 优化代码以提高程序的性能
我有一个程序(EOD批处理),它处理每日累积的up会计头寸并更新UPDT表 节目是这样的Arrays 优化代码以提高程序的性能,arrays,xml,optimization,performance-testing,file-writing,Arrays,Xml,Optimization,Performance Testing,File Writing,我有一个程序(EOD批处理),它处理每日累积的up会计头寸并更新UPDT表 节目是这样的 Query作为join etc的结果从各个表中获取结果,并将记录存储在tempfile.txt 从tempfile.txt中逐个读取记录,并进行一系列计算 对于读取的每个记录;完成该记录的计算后,我们调用update\u UPDT()方法,将计算值提交到数据库中的UPDT表中 注意:我想提高程序的性能。 请建议一个更好的方法。 我有几个计划 使用Xml而不是tempfile。Xml将更加轻巧 不要一个接一个
tempfile.txt
update\u UPDT()
方法,将计算值提交到数据库中的UPDT表中请建议一个更好的方法。 我有几个计划
或者使用数组会更好?第一件事:测量 在你开始考虑解决方案之前,你需要有一个很好的想法,知道是什么让事情变得缓慢
- 将VisualVM之类的探查器附加到流程中,并尝试找出热点
- 以更好地了解内存分配/清理
- 测量基础系统性能:CPU利用率、磁盘I/O和网络流量
这是唯一可靠的优化方法。@谢谢Bizclop。将首先测量热点以找到改进的地方。我测量了性能,似乎updateUPDT()方法被命中了近12000次。因此,12000条记录中的每一条都被逐一更新,这似乎是一个瓶颈。现在,我不再逐个写入所有记录,而是将它们写入“海量XML”。一旦将所有记录插入到大容量xml中,我就必须将其更新到UPDT表中,这是我希望通过存储过程实现的。请帮我查询存储过程。我是否需要在storedproc中编写update语句,还是应该在storedproc中使用join从xml值更新表值。????