存储过程与sql语句
性能上
存储过程优于SQL语句,
原因:存储过程是预编译的,而SQL语句是执行一次就需要编译一次。
安全性
存储过程仍然优于SQL语句,
可以认为存储过程是封装好的,代码没有在程序中直接暴露出来,因此被代码注入的可能性就大大降低,提高程序安全性,而SQL语句则是赤裸裸的放在前台代码中,很容易被黑客利用。
那是不是存储过程就一定好于SQL语句呢?
非也,杀鸡还是用杀鸡的刀吧,比如你只是想取个结果集,那还是用SQL语句就可以了,但是在处理一些稍微复杂的业务逻辑时,还是用存储过程比较好。
② 请问存储过程和一般sql语句有什么语法区别
存储过程和一般sql的区别就是,存储过程支持变量和判断循环之类的,你可以把一个存储过程想象为一个小的软件,这个小软件帮你处理一些复杂的sql运算。
至于说存储过程查询语句更快,是因为,存储过程的执行是在服务器上,只需要传递几个简单的参数就可以,减少了网络通讯。所以比起一般程序中写的查询语句来说更快一些。
基本上就是这些
希望可以帮助你理解存储过程。
③ 存储过程和sql语句有什么区别
1、sql只能实现简单的查询,新增,修改,删除功能。
2、存储过程是sql语句和可选控制流语句的预编译集合。存储过程在创建时即在服务器上进行编译,所以执行起来比单个sql语句快。在单个存储过程中可以执行一系列sql语句。可以从自己的存储过程内引用其他存储过程。
④ 存储过程跟SQL语句比较,各有什么优点和缺点
SQL存储过程放在SQL数据库中,1,因此在程序中调用的时候不必自己拼接sql语句。2,SQLSERVER会对存储过程进行预编译,因此速度快。3,在网络上不必传输冗长的SQL语句,而是直接调用存储过程的名字,因此可以加快速度当然,在一些外包软件开发中,是不允许使用存储过程的。因为对方不可以把数据库暴露给你,此时你只能使用SQL语句。不过国内的一些小型企业使用SQL存储过程还是很流行的。因为程序代码里不包含SQL语句,因此会数据库会相对安全一些。