日期:2014-05-16  浏览次数:20449 次

存储过程--综述

 

存储过程:是一组 sql 语句的组合,被一些流程控制语句组合如:if while for.存储过程是存储在数据库的.而不是存储在程序中.如平常大家所写的sql是放在程序中的.存储过程适合大型系统.其实它真的没什么.


存储过程优点:

l        效率:因为存储过程是存储在数据库的所以它被数据库进行预编译存储,然后通过 一个唯一的变量名进行调用.sql是存储在程序中的 所以程序调用该sql,然后传递给数据库,数据库编译后才能执行.尤其是批处理操作(就是一次执行很多sql),效率就更明显

l        复杂度:因为sql中没有流程控制语句,所以做不了什么复杂的操作.而这个存储过程可以.

l        代码与sql分离:如上所说sql是放在程序中的,存储过程是放在数据库中的.有人说这样sql与代码 解耦了.个人觉得,程序还不好维护了呢.

l        安全:因为sql放到程序中,用户登陆后发送请求然后获取连接池发送sql,进行数据库请求.而存储结构可以设置权限,对某些人开放.这个存储结构的安全取决于数据库的安全体系,而代码中的sql安全取决于程序的安全体系.各有千秋.说白了对于高手黑客都是菜




总结:现在的数据库效率,仅限sql与存储结构 2种形式下,没啥太大区别!(注意我没说聚合索引,费聚合索引等其他数据库优化方法,仅限于此)