Open Zsnd opened 6 years ago
存储过程确实能提高 Sql 执行的性能。
Sql Server 将重新使用找到的任何现有计划,从而节省重新编译 SQL 语句的开销。 https://technet.microsoft.com/zh-cn/library/ms181055(v=sql.105).aspx
但是,通过参数化的调用 sql 语句,能获得同样的性能优势。参考: http://www.cnblogs.com/chenmh/p/4438086.html#手动清空缓存执行计划
SELECT [sql] FROM sys.syscacheobjects; //查询缓存的执行计划 DBCC FREEPROCCACHE;//清除执行计划
所以,与直接调用 SQL 语句相比较,存储过程并不能提高性能。
另外,使用存储过程的优点在于:
存储过程确实能提高 Sql 执行的性能。
但是,通过参数化的调用 sql 语句,能获得同样的性能优势。参考: http://www.cnblogs.com/chenmh/p/4438086.html#手动清空缓存执行计划
所以,与直接调用 SQL 语句相比较,存储过程并不能提高性能。
另外,使用存储过程的优点在于: