0
我在java中使用sqlserver-jdbc驱动程序执行查询,在返回结果集之前等待大约700s,但当我用navicat或SSMS执行此操作时,它只有50秒。任何人都有类似的问题,我不知道datebase,因为我不知道datebase。为什么jdbc执行sqlserver过程需要10分钟,但是navicat或ssms只有50s?
我在java中使用sqlserver-jdbc驱动程序执行查询,在返回结果集之前等待大约700s,但当我用navicat或SSMS执行此操作时,它只有50秒。任何人都有类似的问题,我不知道datebase,因为我不知道datebase。为什么jdbc执行sqlserver过程需要10分钟,但是navicat或ssms只有50s?
使用该脚本,让您的SP的高速缓存的执行计划:
SELECT cp.objtype AS ObjectType,
OBJECT_NAME(st.objectid,st.dbid) AS ObjectName,
cp.usecounts AS ExecutionCount,
st.TEXT AS QueryText,
qp.query_plan AS QueryPlan
FROM sys.dm_exec_cached_plans AS cp
CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS qp
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) AS st
WHERE objtype ='Proc' AND OBJECT_NAME(st.objectid,st.dbid) = '__YOUR_SP_NAME__';
我想这SSMS和SQLServer-JDBC驱动程序使用不同的缓存计划。
我们需要一些更多的信息来帮助。向我们展示一些代码,哪些查询运行缓慢? – Carra