Database sp_准备和sp_执行
我已经向谷歌咨询了一段时间,但它并没有给我一个满意的答案 在SQLServer2005跟踪中,我有很多“exec sp_execute”语句。我知道它们连接到相应的“exec sp_prepare”语句,该语句指定实际的SQL 但是 One:是否可以在没有找到sp\u prepare的情况下找到sp\u execute后面的SQL Two:什么类型的构造通常会隐藏在sp\u执行之后?也就是说,它是一个存储过程吗?它只是代码中的一个字符串吗?还是什么 三:在跟踪中看到这些,我是否应该担心性能不佳Database sp_准备和sp_执行,database,sql-server-2005,Database,Sql Server 2005,我已经向谷歌咨询了一段时间,但它并没有给我一个满意的答案 在SQLServer2005跟踪中,我有很多“exec sp_execute”语句。我知道它们连接到相应的“exec sp_prepare”语句,该语句指定实际的SQL 但是 One:是否可以在没有找到sp\u prepare的情况下找到sp\u execute后面的SQL Two:什么类型的构造通常会隐藏在sp\u执行之后?也就是说,它是一个存储过程吗?它只是代码中的一个字符串吗?还是什么 三:在跟踪中看到这些,我是否应该担心性能不佳
任何输入都是值得赞赏的这些都是API服务器游标,很可能由旧的(或者不是很旧,但开发得很差)应用程序使用 99%的情况下,游标会影响服务器的性能。磁盘和网络I/O是潜在的受害者 阅读,它帮助我理解了服务器端游标的工作原理。使用
select * from sys.dm_exec_query_plan(PlanHandle)
生成指示sql sp_execute正在使用什么的xml文档。回答晚了,但我最近有一个应用程序执行sp_prepare和sp_execute时性能很差 一个:之前已回答 Two:它可以是任何东西,存储过程,基本上可以是任何有效的sql查询 Three:当应用程序使用sp_prepare时,我遇到了SQL Server无法生成良好执行计划的问题。基本上,SQL Server会分析传入参数以生成良好的执行计划,但对于sp_prepare,不会提供参数值,因为它们仅在执行sp_execute时添加。因此,与此同时,SQL Server为不同的运营商应用通用成本,很可能会生成一个次优的计划 如果查看跟踪的读取/cpu使用情况,您应该能够确定查询的行为是否不正常或符合预期 也看到