求 存储过程和Sql语句之间的区别 余额准确越好

来源:百度知道 编辑:UC知道 时间:2024/05/05 09:12:41
一般从性能和安全性方面下手 越详细越好

性能上
存储过程优于SQL语句,
原因:存储过程是预编译的,而SQL语句是执行一次就需要编译一次。

安全性
存储过程仍然优于SQL语句,
可以认为存储过程是封装好的,代码没有在程序中直接暴露出来,因此被代码注入的可能性就大大降低,提高程序安全性,而SQL语句则是赤裸裸的放在前台代码中,很容易被黑客利用。

那是不是存储过程就一定好于SQL语句呢?
非也,杀鸡还是用杀鸡的刀吧,比如你只是想取个结果集,那还是用SQL语句就可以了,但是在处理一些稍微复杂的业务逻辑时,还是用存储过程比较好。

你想问在编写代码时是把SQL语句写在程序中还是写在存储过程中调用哪种好是么?个人建议写在程序中,有错误的话好查。
存储过程执行代码的速度快一些,因为不需要频繁访问网络。不过查找错误非常麻烦,尤其是逻辑错误。
遇到服务器比较慢时还会出现莫名其妙的错误。
比如我遇到过在存储过程中写:delete from table
执行完后table中居然还有数据,而且不只一次,每次结果也不一样,剩几条也不一定。很神。不过这也可能是我用D版的原因。。
3楼说的对,性能和安全性方面当然都是存储过程强
不过不是非常必要,我都不用存储过程

SQL是单条语句,处理较简单的逻辑;
存储过程是一个程序,可以处理复杂的逻辑;
性能上如果比较多的SQL查询、插入等操作,用存储过程好,因为存储过程是在数据库一次执行完的,如果用多个SQL完成,每个SQL都会访问数据库,浪费了网络来回时间

在性能上 存储过程避免了数据库和用户的多次交互 节约了时间.而且游标 结果集 等可以快速将大批数据更新 而且存储过程很轻易使用变量绑定 能够提高数据库共享池的命中率 大大提高运行效率
在安全上存储过程可以封装加密 数据库的私密信息不容易泄露 而且事物处理方便 对数据的完整性有保障

存储过程就是一系列sql语句的集合,也就是集成sql语句一起执行
sql语句就是一些代码
这样说够直接吧