我正在使用Java和JDBC调用Oracle数据库,如下所示:
PreparedStatement prep=c.prepareStatement(
"SELECT a.user FROM data a where a.start_time >=? " +
"and a.end_time <=? and a.operation='UPDATE USER'");
prep.setString(1, 02-MAR-15);
prep.setString(2, 03-MAR-15);
ResultSet rs=prep.executeQuery();
这个查询需要超过44秒才能返回560个值。
这是在SQL开发者中运行的相同查询:
SELECT a.user FROM data a where a.start_time >='02-MAR-15'
and a.end_time <='03-MAR-15' and a.operation='UPDATE USER';
这个只需要不到4秒钟。
我不理解为什么第二个会跑得更快。