存储过程是一组予编译的SQL语句
它的优点:1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
优点:
1.会在数据库服务器中对存储过程中的命令进行编译,加快执行速度
2.只提供给用户参数和结果,存储过程对查询过程封装和加密,简化用户使用,防止非法修改。
3.可以只赋给用户执行存储过程的权利,而不给用户操作相应数据表的权利,这样可以有效防止注入攻击。
4.当查询要求发生变化时,可以只修改存储过程,而不用重新修改和编译你的软件。
缺点:
程序部分功能移到了数据库内,破坏了cvm三层结构设计