C#调用存储过程执行缓慢,但在数据库中执行却很快的问题

参考: html

http://www.debugease.com/mssqlbasic/976568.htmlsql

https://www.cnblogs.com/Irving/p/3951220.htmldebug

http://www.sommarskog.se/query-plan-mysteries.htmlhtm

https://stackoverflow.com/questions/10933366/sp-executesql-is-slow-with-parametersblog

通常是sql预编译的问题,发现后台调用了两次存储过程,一次时间参数为null,一次时间参数不为null,怀疑是用了前一次的执行计划。索引

在存储过程添加WITH RECOMPILE ,问题得以解决。it

后面db去掉WITH RECOMPILE,在临时表上加上索引,问题也一样解决了io

后面问题又出现了,删除存储过程后从新建立存储过程,又能够了编译

 

具体缘由待查后台