日期:2014-05-18  浏览次数:20386 次

问个查询速度问题
我要用到选出的数据有多少行,第一种是直接把所有数据取出,然后在rs中查询:
String sql="select Position.carid from Position"; 
ResultSet rs=stmt.executeQuery(sql);
rs.last();
int row= rs.getRow(); 
//这样可以读出我取出的数据一共有多少行,或者我直接读出这些数据有多少行再进行其他操作:
String sql="select count(*) from Position"; 
ResultSet rs=stmt.executeQuery(sql);
int row=rs.getInt(1);
String ssl="select Position.carid from Position"; 
ResultSet rss=stmt.executeQuery(ssl);
这俩种操作那个时间短,我要用到row的值,取出的表(就是rs中的数据)中一般有1000条数据左右(不会超过2000),哪种方式更快,最后都要操作取出的表单中的值。



------解决方案--------------------
在执行前加
long now = System.currentTimeMillis();
//执行的操作。。。。。
System.out.println(System.currentTimeMillis()-now);
比较一下那个值大不就可以了,
感觉应该是第一种快,第一条少执行了一次查询。其它都一样。