【发布时间】:2015-01-05 21:19:39
【问题描述】:
我正在尝试查找从我的 java servlet 获取数据库所花费的时间。理想情况下,Db 提取应该返回大约 1K 行。获取的函数如下。
ps = dbConnection.prepareStatement(select xxxx from xxxx);
rs = ps.executeQuery();
while (rs.next())
{
rs.getString(1);
}
我只需要数据库调用/获取的时间(即,我不需要从池中获取连接所花费的时间,或者解析数据所花费的时间等)
如果我需要单独查找提取所花费的时间,以下是正确的方法。
第一种方法:
ps = dbConnection.prepareStatement(select xxxx from xxxx);
int initialTime=getTime();
rs = ps.executeQuery();
int finalTime=getTime();
while (rs.next())
{
rs.getString(1);
}
System.out.println("Time taken="+ finalTime - initialTime);
第二种方法:
ps = dbConnection.prepareStatement(select xxxx from xxxx);
int initialTime=getTime();
rs = ps.executeQuery();
while (rs.next())
{
rs.getString(1);
}
int finalTime=getTime();
System.out.println("Time taken="+ finalTime - initialTime);
非常感谢任何帮助。
【问题讨论】:
-
您必须同时计算两者的时间 - 没有任何方法可以将两者分开。第一种方法不会从数据库中读取任何数据——它只是打开一个游标。你可以循环而不调用
getXXX。 -
谢谢。我认为我对结果集的理解是不正确的。
标签: java performance servlets jdbc