sp_executesql 执行非常慢

MS-SQL Server > 基础类 [问题点数:20分,结帖人BATTLERxANGE]
等级
本版专家分:3565
等级
本版专家分:37
等级
本版专家分:0
等级
本版专家分:214223
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
状元 2014年 总版技术专家分年内排行榜第一
Blank
榜眼 2013年 总版技术专家分年内排行榜第二
Blank
金牌 2014年8月 总版技术专家分月排行榜第一
2014年7月 总版技术专家分月排行榜第一
2014年6月 总版技术专家分月排行榜第一
2014年5月 总版技术专家分月排行榜第一
2014年4月 总版技术专家分月排行榜第一
2014年3月 总版技术专家分月排行榜第一
2014年1月 总版技术专家分月排行榜第一
2013年12月 总版技术专家分月排行榜第一
等级
本版专家分:50
battlerxange

等级:

请谨慎使用sp_executesql

前一段时间,给一位朋友公司做咨询,看到他们的很多的存储过程都存在动态sql语句执行sp_executesql,即使在没有动态表名,动态字段名的情况下仍然使用sp_executesql,这个做法是不太明智的,会存在一些性能方面的...

动态SQL的执行,注:exec sp_executesql 其实可以实现参数查询和输出参数的

当需要根据外部输入的参数来决定要执行SQL语句时,常常需要动态来构造SQL查询语句,个人觉得用得比较多的地方就是分页存储过程和执行搜索查询... 在SQL Server中有两种方式来执行动态SQL语句,分别是exec和sp

SQL Server-聚焦sp_executesql执行动态SQL查询性能真的比exec好?

原文:SQL Server-聚焦sp_executesql执行动态SQL查询性能真的比exec好?前言 之前我们已经讨论过动态SQL查询呢?这里为何再来探讨一番呢?因为其中还是存在一定问题,如标题所言,很多面试题也好或者有些博客也好都...

sp_executesql 执行like 的问题

exec sp_executesql N'SELECT * FROM PAGE_T WHERE PAGENAME like @pagename',N'@pagename char(52)',@pagename='%管理%' 这句话是通过sql2005跟踪而来的,在数据库中执行不出结果,但是使用 SELECT * FROM PAGE_T...

终于搞定sp_executesql的调用

终于搞定sp_executesql包含输出的多参数的调用,网上竟然没有很好的参考 set @sql = N'select @I_ZSL =sum(I_SL), @I_ZYZ = sum(I_YZ), @I_ZZJ = sum(I_LJZJ), @I_ZJZ = (sum(I_YZ) - sum(I_LJZJ)) from V_GZ_SGZ_...

测试sp_executesql和exec的性能差别(转)

sp_executesql扩展存储过程与t-sql的execute功能相似,但有一点不同,通过sp_executesql执行的执行计划会被缓存起来,可重复使用。测试:nz.perfectaction nzperfect@gmail.com下面测试sp_executesql和exec的性能...

带参数的存储过程sp_executesql

示例:exec sp_executesql NSELECT Role.UserID FROM Role WHERE Role.UserID = @paramUserID , N@paramUserID nvarchar(4000) , @paramUserID = N123457 说明:sp_executesql执行可以多次重用或动态生成的

使用sp_executesql将查询作为一个明确参数化的查询来执行

declare @n int declare @n1 int set @n=776 set @n1=777 declare @sql nvarchar(max) ,@paramdef nchar(16) set @sql=' select top 10 * from N41Button_TestResult ' +'where serialnoid=@1 or Ser

SQL 语句在查询分析器执行很快,程序 Dapper 参数化查询就很(parameter-sniffing)(转)...

这个问题困扰我好长时间了,使用SQLSERVER 事务探查器找到执行超时的SQL语句,参数查询都是通过执行exe sp_executesql 的存储过程调用,因为它能够分析并缓存查询计划,从而优化查询效率,但是现在反而很。...

使用Ado.net执行SP,而用SSMS执行很快

遇到这种问题,我立刻simulate用户使用Filter Condition,问题repro,看来不是偶然事件,通过SQL Server Profile Capture 到执行的查询语句。 Step1,奇怪的是,在SSMS中执行SQL Server 很快返回结果,初步结论...

ExecuteSQL删除数据

这是在网上无意中看到的方法, 与之前使用的删除要素方法相比, 使用ExecuteSQL删除最快,数据库的效率最高。 PrivateSubDeleteFeature()subDeleteFeature(byvalpFeatureClassasIFeatureClass)...

SQL Server中使用sp_WhoIsActive监视活动

In this article, we will talk about sp_WhoIsActive stored procedure and how we can use it to monitor currently running activities in SQL Server. 在本文中,我们将讨论sp_WhoIsActive存储过程以及如何...

PostgreSQL 执行动态sql

drop function if exists exe_dynamic_sql(bigint); drop function if exists exe_dynamic_count(bigint); --返回记录集 create or replace function exe_dynamic_sql(ival bigint) returns...

使用Entity Framework时要注意的一些性能问题

所以每次我写LINQ查询,都会使用SQL Profiler看一下实际生成的SQL语句,以便发现潜在的性能问题。也强烈建议大家这么去做,以免日后软件大了出了问题很难查。 一、只选择某列或某些列 有些时候,在C#里写LINQ虽然...

同样的SQL语句在查询分析器执行很快,但是网站上执行超时的诡异问题

同样的SQL语句在查询分析器执行很快,但是网站上执行超时,这个问题以前遇到过,解决办法是重新启动服务器,但过一段时间后(时间长短不一定,一般为一天后),这次又...exec sp_executesql N' SELECT a.Work...

sp_block查看数据库进程状态(是否阻塞,执行SQL等),可替代sp_who

写这个存储过程的初衷就是当有业务部门反映系统时,能快速知道数据库是否有阻塞,blocking其他进程的SQL是什么。后来又有一个需求想实现:在停止数据库服务之前,能快速知道数据库当前运行着什么SQL,以决定是否...

Dapper执行Sql语句HitCache导致很

通过分析发现被转换成了 exec sp_executesql '你的Sql' stackoverflow说法:http://stackoverflow.com/questions/15683197/weird-timeout-issues-with-dapper-net  最终换了写法,不使用缓存。ti

SQLServer 使用数据库邮件时常看到超时语句 sp_readrequest

当数据库使用邮件时,使用 trace 或 profiler 跟踪查询语句时,发现有一个语句出现频率较多: exec sp_readrequest @receive_timeout=600000

与存储过程sp_MSforeachdb类似的存储过程sp_MSforeachdb

遍历数据库的未公开存储过程sp_MSforeachdb应用之Attach数据库sp_MSforeachdb是SQL Server2k的Master库的未公开存储过程,其作用是遍历SQL实例下多个数据库,执行相应脚本。比如想知道各数据库的物理文件存放路径和...

sp_lock诊断Sql Server的性能问题

【服务器学院】在IT专家中有一种普遍的误解,就是认为“锁定是不好的... SQL Server中也用锁定,它们是指为了达到这种一致性,数据库引擎用来保证每一次只有一个线程同时访问同一个资源的对象。如果不用锁定的话,各

关于开启CDC实例的二三事

注:关于SQL SERVER 2012在SP3补丁级别下对表开启CDC, 若该表有频繁的MERGE操作,则向CDC表中插入数据时会报违反唯一约束错误,尽管此时表中 并无数据。及时在关闭CDC后重新开启,仍不能解决。此问题系SQL SERVER...

SQL Server-聚焦什么时候用OPTION(COMPILE)呢?

上一篇我们探讨了在静态语句中使用WHERE Column=@Param OR @Param IS NULL的问题,有对OPTION(COMPILE)的评论,那这节...在SQL SERVER中任何时候第一次调用存储过程时,此时存储过程将会被SQL SERVER优化且查询计...

sqlserver里存储过程执行时间差的打印

declare @now31 DateTime set @now31=getdate() ...exec sp_executesql @sCondition,N'@sValueCondition varchar(512) output',@sValueCondition output   declare @now41 DateTime set @now41=getdate()

Sql Server存储过程执行慢

SQL Server在存储过程执行之前都会制定一个执行计划。在上面的例子中,SQL在编译的时候并不知道@thedate的值是多少,所以它在执行执行计划的时候就要进行大量的猜测。假设传递给@thedate的参数大部分都是非空字符串...

解决存储过程执行快,但程序调用则执行慢的问题

已经遇到好几次这个问题了,终于找到答案...这样我程序中执行超时的存储过程,1秒钟就可以执行出来了。 百度下什么是存储过程预编译。 -------------------------------------------------------------------------

相关热词 c# 两个form赋值 c#无符号整形转为有符号 a4纸大小 c# c# 图片合并 c# 脏字过滤 c#登录权限 c#设置excel列宽 c#透明度 c# 载入文件 adb c#