当前位置: 首页 > 面试题库 >

Java处理大量数据

蒋寒
2023-03-14
问题内容

我有一个Java应用程序,它需要显示大量数据(大约一百万个数据点)。数据并不需要全部同时显示,而仅在用户请求时才显示。该应用程序是桌面应用程序,未与应用程序服务器一起运行或未与任何集中式数据库连接。

我的想法是在计算机上运行数据库并在其中加载数据。在大多数时候,数据库都是只读的,因此我应该能够建立索引以帮助优化查询。如果我在本地系统上运行,则不确定是否应该尝试实现一些缓存(我不确定查询将以多快的速度运行,目前正在使用它们)。

这是解决问题的逻辑方法,还是会有更好的方法

谢谢杰夫


问题答案:

显示和数据是两个不同的东西。

您没有提供任何详细信息,但是可以在后台生成显示,一次将数据引入一个切片,然后在准备好时显示。很多东西都可能导致内存问题,因此您需要小心。该数据库将帮助持久化事物,但并不能帮助您将十磅的数据放入五磅的存储袋中。

更新:如果个人一次只读几点,并且显示不是问题,那么我想说,如果您对表进行适当索引,那么任何数据库都将能够处理它。对于功能强大的数据库而言,一百万行并不是很多。



 类似资料:
  • 问题内容: 要使用带有大量数字(100,000+)的Fermat基本性测试时需要的[模幂,它需要进行一些非常大的计算。 当我将两个大数相乘时(例如:62574和62574),PHP似乎将结果强制转换为浮点数。获取该模量的值将返回奇怪的值。 有什么方法可以使PHP正确执行这些计算?另外,还有另一种方法可以找到适用于大量数值的模量值吗? 问题答案: 出于某种原因,PHP中有两个处理任意长度/精度数字的

  • 我遇到了一个问题,我有多个窗体上有许多控件(20-40)。问题是,当我处理回发时,我需要将它们的值放入变量中,如果它们不是ASP.NET服务器控件(即选择、输入等)我有时需要确保他们的存在。因此,如果我有一个普通html复选框,它是未选中的,它将不会被发送到服务器,您需要检查它的存在,然后才能获得它的值。之后,我需要将它们传递到一个方法中以保存到数据库中。该方法处理我所有的crud和业务验证。设置

  • 目前,我的应用程序的某些部分在将大量数据加载到报告表时遇到了速度问题。报告表中的数据是从多个表中提取的,并运行一些复杂的查询,但这是必需的。 除了优化代码,我的问题是,您个人如何处理需要向用户显示的大量数据,最佳实践是什么? 目前我正在处理所有的数据,然后通过javascript库生成数据表。 我知道的事情: 用户不需要一次看到所有数据 用户需要能够搜索所有数据 用户需要能够过滤数据 最好的方法真

  • 问题内容: 在我的代码中,用户可以上传一个excel文档,希望其中包含电话联系人列表。作为开发人员,我应阅读excel文件,将其转换为dataTable并将其插入数据库。问题是某些客户拥有大量的联系人,例如说5000个和更多的联系人,而当我尝试将这种数据量插入数据库时​​,它崩溃了,并给了我一个超时异常。避免这种异常的最佳方法是什么?它们的任何代码都可以减少insert语句的时间,从而使用户不必等

  • 问题内容: 我用来并行化一些繁重的计算。 目标函数返回大量数据(庞大的列表)。我的RAM用完了。 如果不使用,我只需将生成的元素依次计算出来,就将目标函数更改为生成器。 我了解多处理不支持生成器- 它等待整个输出并立即返回,对吗?没有屈服。有没有一种方法可以使工作人员在数据可用时立即产生数据,而无需在RAM中构造整个结果数组? 简单的例子: 这是Python 2.7。 问题答案: 这听起来像是队列

  • 备忘 1 GB: 十亿个字节(Byte) 1(B) * 10*10^8 / 1024 / 1024 ≈ 953.67(MB) ≈ 1000(MB) ≈ 1(GB) 400 MB: 一亿个 4 字节(Byte) int 整型占用的内存 4(B) * 10^8 / 1024 / 1024 ≈ 381.57(MB) ≈ 382(MB) ≈ 400(MB) 10 亿个整型 -> 400(MB) * 10