编辑:示例很糟糕,导致与问题无关的答案.给定一个大的选择查询,在一个简单的程序,如:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet srs = stmt.executeQuery(
"SELECT AGE FROM USERS");
while (srs.next()) {
ageStdDevAccumulator += Math.Pow(averageAge - srs.getInt("AGE"),2);
}
int ageStdDev= Math.Sqrt(ageStdDevAccumulator / userCount);
Run Code Online (Sandbox Code Playgroud)
我知道一旦运行了executeQuery,那么整个用户年龄列就会从数据库发送到程序.是对的吗?如果数据库中有太多用户,这是否会导致服务器上的内存溢出?如果是这样,那么可以将选择查询分解为更小的块?如果是这样,有可能让编译器自己解决这个问题吗?
谢谢,一个数据库noob程序员.
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |