什么是存储过程?有什么优点?
发布网友
发布时间: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 程序的优势有:允许模块化程序设计。只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。允许更快执行。如果某操作需要...