如何设计java程序能提高大数据量的计算速度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设计java程序能提高大数据量的计算速度?相关的知识,希望对你有一定的参考价值。

有一个1000多条的数据,放在list里面,这里的数据都要调用一个公式(可能公式不同)计算出一个结果。程序如何设计能够提供速度,并且程序的性能要稳定。
补充:
先是从数据库中查询数据,然后再算出数据后保存再另一个表中,想问如何设计能够提高计算的速度。希望能给个大概的设计思想?其中公式也就是能传数据进去返回结果的方法。

你可以先取出部分数据,处理完了保存,然后再取一部分,这不是提高计算速度,而是提高数据库读取效率,因为你每次从数据库读一条数据会很浪费时间。
不过你只有1000条数据不算太多的,而且你又不做排序,效率上不会差太多。
剩下的效率瓶颈就在你的公式或者方法里了。
参考技术A 如果只是修改数据,并且修改方法一样的话,推荐使用数据库自身的存储过程
如果是要在页面显示 并且经过计算得出结果的,推荐新加一张表,专门存放这些数据
参考技术B 你可以先取出部分数据,处理完了保存,然后再取一部分,这不是提高计算速度,而是提高数据库读取效率,因为你每次从数据库读一条数据会很浪费时间。
不过你只有1000条数据不算太多的,而且你又不做排序,效率上不会差太多。
剩下的效率瓶颈就在你的公式或者方法里了。追问

如果选择先取一部分数进行计算,然后再取,具体怎么控制呢?具体使用什么技术控制?

追答

不需要特殊技术,你只要会数据库分页就行,先设定你想一次取多少数据,也就是设定页面大小,然后查询取数据总数,根据总数和页面大小得出页数。网上这种算法很多的,主要针对不同数据库有不同的做法。如果你只关心效率的话,那我建议你用jdbc做,不用持久层框架。

本回答被提问者和网友采纳
参考技术C 呃。。弱弱的说一句,“多线程”?

服务端实时大数据AI计算

  服务端、实时、大数据、AI计算,各种各样的计算,计算机本质是什么,计算机的本质是

利用compute的计算速度为人提供更优的计算结果。

  所以实时也好,准实时、离线、AI本质上是两个维度,实时准实时强调计算的速度,大数据

AI强调数据量以及速度。

  1、实时计算,扩量的两个方式多线程多核计算,以及多个机器、每个机器多线程多核计算。

  2、大数据、AI强调数据量更多多机器进行计算,来处理多个机器计算。

以上是关于如何设计java程序能提高大数据量的计算速度?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置batchsize

java poi Excel大数据量导入怎么提高速度

如何提高MATLAB的运算速度

高校大数据实训室解决方案有么?急求

如何提高MATLAB的运算速度

java中有关大数的操作