本帖最后由 hai7song 于 2011-09-12 14:18:43 编辑

解决方案 »

  1.   

    楼主的意思是客户端不提供查询参数,直接用某URL请求服务器上资源,就很快,是吗?那么当然是客户端包装参数、服务器解包这两个环节出了问题的啦。
      

  2.   


    我打了断点跟踪了下,服务器在接包、解包这两个环节是正常的。接着连接数据库也很快,但是在进入
    conn = DBConnection.getConnection();// 得到连接
    pstmt = getStatement(conn, roadInfoIDsql);
    pstmt.setFloat(1, lonGPS);
    pstmt.setFloat(2, latGPS);
    System.out.println("查询前");
    rs = executeQuery(pstmt); // 执行查询
    System.out.println("查询后");rs = executeQuery(pstmt); // 执行查询
    这一句语句卡住了,大半天才出结果。
      

  3.   

    楼主都知道瓶颈在哪儿了,太好了。
    几个问题楼主参考下:
    ①用这里来自于用户的特定的Float值,测试过这里的PreparedStatement语句效率没?
    ②并发请求多吗?
    ③用同样的用户名、Schema等测试过没?
      

  4.   


    使用特定的Float值 查询速度是非常快的。我在单做客户端请求服务器查询数据库就是指定Float值,连接到返回数据都很快。现在只是单单做了一个客户端在请求就出现了问题。第三个问题是什么意思?  
      

  5.   

    要结贴了~~   我真是悲催...之前没做过服务器,现在发觉是从客户端来的两个参数搞反了~~还得数据库在那边瞎忙乎半天。麻烦你了 magong