问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是存储过程?有什么优点?

发布网友 发布时间:2022-04-25 10:49

我来回答

8个回答

热心网友 时间:2022-04-29 20:38

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。

优点:

1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

2、减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

3、安全性:参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

扩展资料

存储过程的缺点:

1、更改比较繁琐:如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐。

2、可移植性差:由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将*应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则需要将业务逻辑封装在不特定于 RDBMS 的中间层中。

参考资料来源:百度百科-存储过程

热心网友 时间:2022-04-29 21:56

1. 运行速度:对于很简单的 sql ,存储过程没有什么优势。对于复杂的业务逻辑,因为在存储过程创建的时候,数据库已经对其进行了一次解析和优化。存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用,所以执行速度会比普通 s ql 快。 2. 减少网络传输:存储过程直接就在数据库服务器上跑,所有的数据访问都在数据库服务器内部进行,不需要传输数据到其它服务器,所以会减少一定的网络传输。但是在存储过程中没有多次数据交互,那么实际上网络传输量和直接 sql 是一样的。而且我们的应用服务器通常与数据库是在同一内网,大数据的访问的瓶颈会是硬盘的速度,而不是网速。 3. 可 维护性:的存储过程有些时候比程序更容易维护,这是因为可以实时更新 DB 端的存储过程 。 有些 bug ,直接改存储过程里的业务逻辑,就搞定了。 4. 增强安全性:提高代码安全,防止 SQL 注入 。这一点 sql 语句也可以做到。 5. 可扩展性:应用程序和数据库操作分开,独立进行,而不是相互在一起。方便以后的扩展和 DBA 维护优化。

热心网友 时间:2022-04-29 23:31

作者:MrSky
链接:https://www.hu.com/question/21345483/answer/325288401
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

存储过程的定义:
一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
通过定义很容易知道存储过程的本质是SQL语集;因此如果你会SQL语句,其实你只需要再学习一些SQL存储过程里面的语法,关键字,你也就会使用存储过程了,和存储过程非常类似的触发器也是如此。
那么它有什么优缺点呢?
还是继续看定义“完成特定功能的SQL 语句集” “经过第一次编译后再次调用不需要再次编译”;是的,它可以完成特定的功能并且只需编译一次。
什么是特定的功能?
例如所有的业务逻辑,以及在进行入库的时候需要统一对入库数据进行格式化处理等等功能。
有过项目开发经历的同学应该知道,当我们将很多业务逻辑写在存储过程里面的时候,我们统一修改业务逻辑会非常方便。
我程序部署到正式服务器环境以后,如果这时候发现业务逻辑有问题,更改程序代码是很危险的事情,用“牵一发而动全身”来形容也不为过,而且由于本地测试代码和发布到正式环境的代码有诸多不同,因此临时更改代码非常危险。
如果我们将业务逻辑写在了存储过程里面,我们甚至无需要重新更改代码,重新编译,重新发布。我们直接更改数据库里面的存储过程就可以完成程序的相应更改,这大大方便了我们发布以后对程序的更改,增强了程序安全性。
因此存储过程的优点1:
实现特定的功能,将业务和程序代码进行分离,增强程序维护性。

热心网友 时间:2022-04-30 01:22

一、存储过程:
存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。
二、存储过程的优点:
   1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
  2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
  3.存储过程可以重复使用,可减少数据库开发人员的工作量
  4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

热心网友 时间:2022-04-30 03:30

存储过程是一组予编译的SQL语句
它的优点:1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
  2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
  3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
       4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。

热心网友 时间:2022-04-30 05:55

存储过程(Stored Procere)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。存储过程能完成普通SQL语句无法表现的复杂逻辑,按照这些逻辑进行数据的增删改查。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

热心网友 时间:2022-04-30 08:36

这些电脑需要的东西不太懂,我只是知道复制黏贴

热心网友 时间:2022-04-30 11:34

1.在数据库服务器中只有首次对存储过程中的命令进行编译,以后直接调用无需编译,加快执行速度。
2.只提供给用户参数和结果,存储过程对查询过程封装和加密,简化用户使用,防止非法修改。
3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量sql语句的代码流量。
4.可以只赋给用户执行存储过程的权利,而不给用户操作相应数据表的权利,这样可以有效防止注入攻击。
5.维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。
什么是存储过程?有什么优点?

存储过程是数据库中预先编译并存储的SQL语句集合,其存在旨在提升开发效率和数据处理性能。它们的主要优点在于:重复利用: 存储过程可以多次使用,减少了数据库开发人员编写重复代码的工作量。减少网络流量: 通过在服务器上存储,只需传递过程名和参数,从而降低了数据传输的负担。安全性增强: 参数化存储过程...

什么是存储过程?有什么优点?

存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。 二、存储过程的优点: 1.存储过程只在创造...

什么是存储过程?有什么优点?

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。优点:1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。2、减少网络流量:存储过程位于服务器...

谈谈存储过程的优缺点

存储过程是一组为了完成特定功能的SQL语句集,它可以被编译并存储在数据库中,用户可以通过存储过程的名字和参数来调用并执行它。存储过程在数据库应用中非常常见,它既有优点也有缺点。存储过程的优点:1. 性能优化:存储过程在首次执行时被编译,并将执行计划缓存起来,后续调用时可以直接使用已编译的执行...

在SQL中什么是存储过程?使用存储过程有什么好处?

什么是存储过程?分为哪几类?答:存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。1.使用存储过程有什么好处?答:优点:(1)提供安全机制(2)改进了执行性能(3)减少网络流量(4)允许模块化程序设计

存储过程的优缺点 存储过程有哪些优缺点

存储过程的优点 1、重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。2、提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。3、减少网络流量。存储过程位于服务器上,调用的时候只需要传递...

数据库系统原理 什么是存储过程有什么优点

存储过程的优点: 1.存储过程只在创造时进行编译,以后每次执行存储过 程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过 程可提高数据库执行速度。 2.当对数据库进行复杂操作时,可将此复杂操作用 存储过程封装起来与数据库提供的事务处理结合一起使用。更多数据库的知识, 尽...

什么时候要用存储过程,存储过程的优点

存储过程的优点:1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合...

ORACLE 存储过程是什么? 它的用处,好处是什么?概念性的东西多点。。_百...

存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。优点:1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用...

什么是存储过程?有何优点?

使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有:允许模块化程序设计。只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。允许更快执行。如果某操作需要...

存储过程的优点与缺点 存储过程是什么 存储过程的概念及优点 存储过程的特点有哪些 请简述存储过程的优点 mysql中存储过程的优点 数据库存储过程的优缺点 存储过程和函数的优点 叙述存储过程的概念及优点
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
文档文件夹可以删除吗? 文件夹中的文件能删除吗? 吃鸡进不去,重启也没用,开了加速器,如图 永劫无间用什么加速器好 好用的加速器推荐 PUBG加速器免费试用 亚服加速器推荐 吃鸡加速器选择 亚服国际服吃鸡加速器推荐 东芝2523ad提示维护怎么清除 请问清朝历皇帝顺序,开国皇帝到最后一个。还有就是年羹尧的妹妹叫什么... 这个外国小女孩是谁?附图 凌渡行车记录仪出现问题,怎么办? 凌渡行车记录仪hs850c一直卡死在开机界面怎么办,复位键不管用,大神帮... 我的凌度行车记录仪,按那个键没有反应。不知道怎么了!有师傅给指点一下... 凌度行车记录仪出现时间,日期不准还识别不出内存卡,还死机是什么... 凌度行车记录仪怎么会自动关机 凌度行车记录仪开机10秒后自动关机 凌度行车记录仪在待机中老自动关机是怎么回事? 凌渡行车记录仪死机了怎么办? 凌度行车记录仪死机了怎么办 凌度记录仪不录像了,只有凌度两个字是怎么回事?熄火后这两个字还是在... 凌度行车记录仪hs850b开不了机怎么办? 凌度行车记录仪电源线坏了 我的凌度行车记录仪开机亮一次就不亮是怎么回事 凌度行车记录仪老死机该怎么办? 关于义勇军进行曲 这些歌曲谁词谁曲? 哪里有小学升旗仪式的音乐下载呀? 如何查询自己的安全员证?安全证书 <<建筑施工企业管理人员安全生产考核合格证书>>B证如何查询真伪 我的安全员证怎么查询? 使用存储过程有哪些优点? 存储过程有什么优缺点?为什么要用存储过程 存储过程有什么优点 存储过程有什么优缺点 SQL存储过程的作用和优缺点 sql存储过程的优缺点? 什么时候用存储过程?存储过程的优点及缺点 存储过程是什么?它的特点是什么?为什么要用它?它有什么优缺点? 他们的优点和缺点分别是什么: 视图、索引、存储过程、触发器 存储程序的作用 及优缺点 什么时候要用存储过程,存储过程的优点 存储过程跟SQL语句比较,各有什么优点和缺点 CAD中的梁的虚线如何彻底改为实线? CAD怎么画虚线?如何在CAD中画虚线 打开CAD图后,发现梁呈现虚线的状态,是怎么回事?怎么恢复? java中如何判断一个字符串不是像“aaaaaa”、“88888”、“@@@”这样... java系统怎么做性能测试调优?是不是掌握了jvm就差不多了? Kotlin怎么判断一个文件是否存在? macd表示什么 股票MACD线是什么意思?