C#调用存储过程执行缓慢,但在数据库中执行却很快的问题
参考:
http://www.debugease.com/mssqlbasic/976568.html
https://www.cnblogs.com/Irving/p/3951220.html
http://www.sommarskog.se/query-plan-mysteries.html
https://stackoverflow.com/questions/10933366/sp-executesql-is-slow-with-parameters
一般是sql预编译的问题,发现后台调用了两次存储过程,一次时间参数为null,一次时间参数不为null,怀疑是用了前一次的执行计划。
在存储过程添加WITH RECOMPILE ,问题得以解决。
后面db去掉WITH RECOMPILE,在临时表上加上索引,问题也同样解决了
后面问题又出现了,删除存储过程后重新创建存储过程,又可以了
具体原因待查