Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database sp_准备和sp_执行_Database_Sql Server 2005 - Fatal编程技术网

Database sp_准备和sp_执行

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执行之后?也就是说,它是一个存储过程吗?它只是代码中的一个字符串吗?还是什么 三:在跟踪中看到这些,我是否应该担心性能不佳

我已经向谷歌咨询了一段时间,但它并没有给我一个满意的答案

在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使用情况,您应该能够确定查询的行为是否不正常或符合预期

也看到