Zsnd / blog

0 stars 0 forks source link

Sql Server 存储过程能提高性能这句话是错的 #8

Open Zsnd opened 6 years ago

Zsnd commented 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 语句相比较,存储过程并不能提高性能。

另外,使用存储过程的优点在于: