while(resultSet.next()){
for (int c = 1; c <= metaData.getColumnCount(); c++){
String columnName = metaData.getColumnName(c);
Object value = resultSet.getString(columnName);
record.put(columnName, value);
}
}
上面 while 循环运行 500 万次乘以列数。 有没有最好的方法来实现一种有效的方法来处理它..?
您可能应该使用Pagination
来执行此操作,而不是在响应中发送一大块json
块。它不仅会增加内存/CPU 使用率,而且如果网络流量,它会产生很多。加上前端在处理和渲染方面的性能问题,响应如此之大。
在pagination
中,您可能会返回第一条n
记录以及元数据(即记录总数、总页数、当前页面等(。如果您使用的是Spring
,请查看此分页示例。
在数据库层,你可以根据数据库类型来实现它(例如,对于MySQL
,你可以使用LIMIT
(。这个SO答案解释了如何在MySQL
中进行分页。