情况是这样的       
数据库是 SQLSERVER2005 
我调用一个   存储过程    
在 客户端 调用就只要  1秒不到
用JAVA JDBC 查询 需要 10多秒然后 我 吧  存储过程  里面的 SELECT  语句 拿出来 在
JDBC 查询     也只要 1秒   
这个是什么原因 。

解决方案 »

  1.   

    应该是JDBC调用存储过程耗时?。。差这么多,不会吧。
      

  2.   

    我网上 查了 下    有个    问题 和它比较像
    Parameter sniffing 问题
    但    用 客户端 调 的 时候就会慢        为什么 我就用 JDBC 的 时候慢啊 。 
    http://offroadcoder.com/2008/06/22/ParameterSniffingInSQL2005.aspx
      

  3.   

    还有 一种:
    连接本地计算机的SQLSERVER很快<30ms,或者通过ODBC连接远程也很快<30ms,可直接用指定IP的方式访问远程计算慢得不得了,>6000ms,后来上网查到原因了,原来是原来server_name(本例子中是172.18.0.20)的问题,程序访问172.18.0.20时,把它当成里机器名称进行解析,长时间没结果最后才访问了IP为172.18.0.20。 (我是在172.18.10.134上跑的这个程序)       解决方法是:在WEB服务器的C:\WINDOWS\system32\drivers\etc\HOSTs表中添加一条172.18.0.20    172.18.0.20
     这下快多了,<60ms,搞不明白,除了hosts文件还有其它方法没有,万一服务器不是我的怎么办?但这种我试过      没有用 有没有  人 碰到过 我这种问题啊 !!!
      

  4.   

    对JAVA的JDBC不了解,建议参考:
    http://www.ixpub.net/thread-795573-1-1.html