发现前者扫描数据不到2万条,后者在事件探查器却成了存储过程来执行扫描了80万条数据。同样的SQL语句?不可能吧.

解决方案 »

  1.   

    什么存储过程,是sp_executesql还是产生的临时存储过程,最好贴出来看看
      

  2.   


    exec sp_executesql N' select cnatureid as text, cnaturename as id from natures where cdwdm=@P1 and idelete=0 order by cnaturename ', N'@P1 nvarchar(4000) ', N'06'
    像这种
    有查询速度差不多快,但是有的sql比较长,在查询分析器中执行时间2秒,产生的存储过程就10秒
      

  3.   

    项目中所有的sql语句,用事件探查器跟踪后都变成了存储过程来执行,很奇怪 
    --------
    程序有问题吧,应该可以以文本的方式执行,不需要存储过程的