存储过程sp的利与弊

最近在项目中接触到存储过程,所以在思考这样一个问题“存储过程的优缺点到底是什么,什么时候适合用存储过程sp?”,个人查阅相关的一些文章与博客做了一点总结,纯属个人的一个记录,难免会有很多错误,有错的地方还望大家多多指出。
首先,存储过程可以看成是一个记录集,它是由T-SQL语句组成的代码块,实现单表或多表增删改查功能。那么相对于程序中写sql,存储过程的优点在于:
1.存储过程只在创建的时候进行编译,以后代码中执行存储过程不需要编译,而程序中的sql每执行一次都要编译一次,因此存储过程提高了数据库执行速度(无需编译)
2.存储过程可以重复使用
3.代码维护性较高,可直接在数据库中修改存储过程
4.减少网络传输,存储过程直接在数据库服务器中跑,数据访问都在服务器内部进行,不需要传输数据到其他终端。
当然,存储过程也存在着明显的缺点:
1.存储过程不能调试,这是一个很大的弊端,在修改存储过程时,一定要做好备份。
2.可移植性差,存储过程会将应用程序绑定到 SQL Server,因此存储过程封装业务逻辑将限制应用程序的可移植性。

你可能感兴趣的:(存储过程sp的利与弊)