为什么存储过程执行速度比普通的SQL快而且减少网络流量

面试遇到的... 面试遇到的 展开
 我来答
减肥卢
2020-10-24 · TA获得超过6217个赞
知道答主
回答量:258
采纳率:100%
帮助的人:3.8万
展开全部

存储过程所以快是因为他是预先编译的,当然节省了编译的时间。减少网络流4102量是指减少与客户端1653之间的交互,在服务器上执行运算,最后只把结果反给客户端,所以流量少。

比如你查询个内容,需要先查一个表,根据结果再查另外一个表。不用存储过程你怎么做呢?自然是先读出那个表的内容来,然后在asp/asp.net/php里,用代码生成一个语句再去查询,这样要往复2,3次。而用存储过程就可以直接在服务器上运算,只要一次来回就ok了,自然网络流量就减少

因为在存储过程中的SQL语句是已经经过了语法检查和编译的,可以直接执行;而SQL总要先dao进行语法解析和编译才能执行。另外对于网络执行的话,执行相同的任务,客户端调用存储过程的代码传输量和直接执行SQL语句相比也要更少。

今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
wu_dong_505
推荐于2016-08-20 · TA获得超过418个赞
知道答主
回答量:134
采纳率:100%
帮助的人:0
展开全部
原因是:存储过程是编译好的SQL语句。 在执行存储过程的时候,不像一般的SQL语句,它不需要编译了,直接执行的。而一般意义上的SQL语句,是在运行时
才编译的。这样就增加了运行时间了。从而也增加了网络流量。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mwtcz
2010-04-16 · TA获得超过1322个赞
知道小有建树答主
回答量:1367
采纳率:50%
帮助的人:1027万
展开全部
存储过程所以快是因为他是预先编译的,当然节省了编译的时间。

减少网络流量是指减少与客户端之间的交互,在服务器上执行运算,最后只把结果反给客户端,所以流量少。

比如你查询个内容,需要先查一个表,根据结果再查另外一个表。不用存储过程你怎么做呢?自然是先读出那个表的内容来,然后在asp/asp.net/php里,用代码生成一个语句再去查询,这样要往复2,3次。而用存储过程就可以直接在服务器上运算,只要一次来回就ok了,自然网络流量就减少了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caesarjr
2010-04-16 · 超过21用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
执行速度:
存储过程在首次执行的时候会进行预编译,查询优化器会对其进行分析,优化,并给出最终被存在系统表中的执行计划.而批处理的sql语句在每次运行时都要进行编译和优化,因此速度相对要慢.

网络流量:
调用存储过程只需要传几个参数,而SQL语句可能会是N多条,自然网络流量会差很多.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7b25ad27
2010-04-16 · TA获得超过1853个赞
知道小有建树答主
回答量:1462
采纳率:0%
帮助的人:707万
展开全部
速度应该是一样的啊,存储过程执行的也是SQL语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式