Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 java.sql.ResultSet 并调用 next() 来迭代元素(列)是我代码中的主要性能损失,而且我知道由于内存/缓存原因(ArrayList将是连续的,因为我只分配一次并且不调用 add() )。
我见过各种铸造它的方法,但都没有奏效。我不想使用 for 循环来迭代元素,因为那会调用 next(),这是我试图避免的。我的 ResultSet 中有很多元素,那么有没有办法将 RS 转换为数组或 ArrayList?
不,没有别的办法。问题不在于您对.next()调用的使用,问题是数据库速度慢。您可能需要对数据库和/或 jdbc 连接执行一些优化,但是您需要提供有关实际用例的更多详细信息。
.next()
ResultSet除了调用之外,没有其他方法可以从 a 检索行next()。
ResultSet
next()
在您要求之前,底层实现可能不会实现给定的行,这可能涉及网络流量。一个合理的实现将批量获取行并缓存它们,直到您请求它们,但它肯定不会一次获取所有行,除非结果集很小。
` elements ckeditor auto closes tag