【发布时间】:2015-08-15 03:33:10
【问题描述】:
在 Java 代码中,我试图从 DB(Oracle) 中获取 3500 行。加载数据大约需要 15 秒。我已经接近将结果存储在缓存中并从中检索。我正在使用简单的 Select 语句并显示单个表中的 8 列(未使用连接)。使用 List 从 DB 中保存数据并将其用作 Datatable 的源。我还从硬件方面考虑过,例如 RAM 容量、存储、网络速度等……它轻松地超过了最低要求。你能帮忙做的更快吗(不应该超过 3 秒)?
【问题讨论】:
-
请发布查询;这里有很多人可以提供加快速度的建议。
-
如果 3.5k 行需要 15 秒,则很可能是计划不周/可计划的查询。但是没有更多细节......(查询可能不是独立于连接的 SARGABLE;例如,可能没有合适的索引来覆盖这些条件)
-
所花费的时间几乎可以肯定完全在数据库或 JDBC 驱动程序中。在 Java 中将 3500 条记录添加到列表中应该需要几毫秒或更短的时间。
-
请也发布 Java 代码。你应该分批获取——这会有所作为。
-
您需要首先确定这是一个慢查询(尝试在 sqlplus 中运行自动跟踪),还是 java 处理速度慢。
标签: java oracle performance collections datatable