ResultSet和BLOB加载

时间:2014-01-25 08:40:32

标签: java mysql sql jdbc blob

我正在研究数据库性能基准测试java应用程序,作为硕士论文的一部分 应用程序启动几个执行选择的线程。然后收集查询的平均响应时间 看看结果我有疑问,如果BLOB列真的从数据库加载(响应时间几乎没有差异,数据库中的BLOBS都没有20kB或100kB或200kB。数据不能缓存在RAM中,因为sumarized BLOBs的体积比几倍大,比机器RAM大小)。我正在使用MySQL和MySQL Cluster数据库。

我的选择如下:

SELECT blob_column FROM tab WHERE <<some conditions on other columns>>

以下是执行基准测试的应用程序的一部分:

    int invokedCommands = 0;
    long startTime = System.currentTimeMillis();

    for (int i = 0; i < params.size(); i++) {
        try {
            for (int j = 0; j < params.get(i).size(); j++) {
                preparedStatement.setInt(j+1, params.get(i).get(j));
            }
            resultSet = preparedStatement.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        invokedCommands++;
    }
    long stopTime = System.currentTimeMillis();
    long elapsedTime = stopTime - startTime;

    synchronized(resultList) {
        resultList.add((double) elapsedTime / invokedCommands);
    }

准备preparedStatement时,请准备好提供WHERE个参数 使用上述方法时,我可以100%确定,从磁盘读取BLOB并发送到客户端应用程序吗?

0 个答案:

没有答案