存储过程(Stored Procedure)是一组已经事先编译好,能够完成特定功能的SQL语句集合,是一个独立的数据库对象。存储过程类似于高级语言中的函数,可被用户的应用程序调用,执行。不同的是,存储过程经过编译后存放在服务器端,这为开发C/S和B/S应用程序提供了强有力的支持。由于存储过程是已经编译好的代码,所以执行时不必再次进行编译,从而提高了程序的执行效率。
存储过程的优点
- 模块化
类似于高级语言中的函数,存储过程一旦建立就可由不同用户利用SPL编写的程序调用,使代码的复用性提高,减少代码量。
1.提高性能
存储过程在创建时就进行了编译,并存储在服务器中。以后对它的任何调用都不需再进行编译。因此存储过程的这种一次编译,多次执行的特点大大提高了程序执行的速度及性能。
2.减少网络流量
存储过程经过编译存储于服务器,数据的处理和操作均在服务器端进行。调用时只需将存储过程的名称及参数传递给服务器,不用每次访问都传递很长的SQL语句段,从而降低了网络传输的开销。
3.提高安全性
存储过程可以提高应用程序的安全性。参数化的存储过程有助于保护应用程序不受SQL注入攻击,此外还可以设定某些用户具有对指定过程的使用权限,保障数据库安全。