存储过程经过预编译处理 而SQL查询没有
SQL语句需要先被数据库引擎处理成低级的指令 然后才执行
-------------------------------------------------------
如果是只执行一次的话,存储过程不一定比SQL语句效率高.因为存储过程有个预先编译的过程.就是.启动服务器后或者第一次执行后(可以设置).就可以把存储过程加载到高速缓存中,这样以后调用起来就不用再通过编译 执行效率当然就高喽..另外执行存储过程只需要传递几个参数..用语句的话可能需要一大串.有效减少了传递数据.
-------------------------------------------------------
1 存储过程允许标准组件式编程 存储过程在被创建以后可以在程序中被多次调用而不必重新编写该存储过程的sql 语句而且数据库专业人员可随时对存储过程进行修改但对应用程序源代码毫无影响因 为应用程序源代码只包含存储过程的调用语句从而极大地提高了程序的可移植性 2 存储过程能够实现较快的执行速度 如果某一操作包含大量的transaction-sql 代码或分别被多次执行那么存储过程要 比批处理的执行速度快很多因为存储过程是预编译的在首次运行一个存储过程时查询优化器对其进行分析优化并给出最终被存在系统表中的执行计划而批处理的transaction- sql 语句在每次运行时都要进行编译和优化因此速度相对要慢一些 3 存储过程能够减少网络流量 对于同一个针对数据数据库对象的操作如查询修改如果这一操作所涉及到的 transaction-sql 语句被组织成一存储过程那么当在客户计算机上调用该存储过程时 网络中传送的只是该调用语句否则将是多条sql 语句从而大大增加了网络流量降 低网络负载 4 存储过程可被作为一种安全机制来充分利用 系统管理员通过对执行某一存储过程的权限进行限制从而能够实现对相应的数据访 问权限的限制避免非授权用户对数据的访问保证数据的安全
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)