`
wang_zhi_peng2007
  • 浏览: 251487 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

为什么要用存储过程

 
阅读更多

       存储过程真的那么重要吗,它到底有什么好处呢?

       笔者认为,存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。

但是存储过程处理比较复杂的业务时比较实用。
比如说,一个复杂的数据操作。如果你在前台处理的话。可能会涉及到多次数据库连接。但如果你用存储过程的话。就只有一次。从响应时间上来说有优势。
也就是说存储过程可以给我们带来运行效率提高的好处。
       另外,程序容易出现 BUG 不稳定,而存储过程,只要数据库不出现问题,基本上是不会出现什么问题的。也就是说从安全上讲,使用了存储过程的系统更加稳定。

数据量小的,或者和钱没关系的项目不用存储过程也可以正常运作。mysql 的存储过程还有待实际测试。如果是正式项目,建议你用 sql server 或 oracle 的存储过程。数据与数据之间打交道的话,过程会比程序来的快的多。面试官问有没有用存储,实际上就是想知道前来面试的程序员到底做过数据量大的项目没。如果是培训出来的,或者小项目小公司出来的,对存储肯定接触的少了。

      所以,要想进大公司,没有丰富存储过程经验,是不行的。

那么什么时候才可以用存储?对于数据量不是很大以及业务处理不是很复杂的小项目就无需要了么?
      错。存储过程不仅仅适用于大型项目,对于中小型项目,使用存储过程也是非常有必要的。其威力和优势主要体现在:
  1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
  2.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL 语句,可能要多次连接数据库。而换成存储,只需要连接一次数据库就可以了。
  3.存储过程可以重复使用,可减少数据库开发人员的工作量。
  4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权。

分享到:
评论

相关推荐

    MySQL存储过程基础教程.pdf

    为什么要使用存储过程 存储过程可以集中管理业务逻辑,减少网络传输数据量,减少客户端和服务端的交互次数。它们也可以作为模块化的单元,方便复用和维护,提高代码的可重用性。此外,存储过程能够增强数据的安全性...

    oracle存储过程解锁

    例如,要检查名为`prc_exec_day`的存储过程是否被锁定,可以运行以下SQL查询: ```sql SELECT * FROM dba_ddl_locks WHERE name = UPPER('prc_exec_day'); ``` 这将返回所有与`prc_exec_day`存储过程相关的锁定...

    SAP HANA 中调试存储过程

    SAP HANA中的存储过程通常是用SQLScript编写的,这是一个专门用于SAP HANA的SQL扩展集,它允许开发人员执行复杂的数据处理操作。在SAP HANA中调试存储过程时,需要注意存储过程中的代码是顺序执行的,而不是并行执行...

    Informatica调用存储过程图文流程

    什么是存储过程 存储过程(Stored Procedure)是一组为了完成特定功能的 SQL 语句集合,存储在数据库中,以便在需要时重复使用。存储过程可以根据需要执行不同的操作,例如插入、更新、删除数据等。使用存储过程...

    pb调用存储过程

    4. **DataWindow对象**:如果你想要在DataWindow中使用存储过程,可以设置DataWindow的SQL源为存储过程,然后在适当的方法(如RowChange, Fetch等)中调用执行。 其次,关于**存储过程的创建**,在提供的描述中,...

    SqlServer存储过程及调试指南

    1. 存储过程概念:存储过程是一组为完成特定功能的SQL语句集,这些语句经过编译后存储在数据库中,供用户通过指定存储过程名和参数(如有)来执行。存储过程被称作数据库中的重要对象,对于设计良好的数据库应用程序...

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    存储过程文档--mysql

    2. 当对数据库进行复杂操作时(如对多个表进行 Update、Insert、Query、Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3. 存储过程可以重复使用,减少数据库开发人员的工作量...

    oracle存储过程学习经典入门

    用 Java 调用 Oracle 存储过程时,需要使用 JDBC 驱动程序来连接 Oracle 数据库,然后使用 CallableStatement 对象来调用存储过程。 在存储过程中做简单动态查询 在存储过程中,做简单动态查询需要使用 EXECUTE ...

    sqlserver存储过程解密工具

    使用存储过程解密工具的一般步骤包括: 1. 连接数据库:首先,你需要使用工具连接到包含加密存储过程的SQL Server实例,输入服务器名、数据库名、用户名和密码。 2. 选择目标存储过程:在连接成功后,工具会列出该...

    存储过程 存储过程概述 创建存储过程 执行存储过程

    存储过程概述 创建存储过程 执行存储过程 查看、重命名和删除存储过程 创建带有参数的存储过程

    分页存储过程 分页存储过程 分页存储过程

    分页存储过程 分页存储过程 分页存储过程 sql代码

    SQL Server中存储过程比直接运行SQL语句慢的原因

    在了解这个问题之前,我们通常认为存储过程具有以下优点:首先,存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的 SQL 语句每执行一次就编译一次,所以使用存储过程可以...

    针对sqlserver 2008 存储过程通过With Encryption加密方式的解密

    2. 然后,我们使用解密算法对 imageval 记录进行解密,并将其还原为原始的存储过程。 3. 最后,我们可以使用还原后的存储过程来替换原始的加密存储过程。 解密存储过程的优点 使用解密存储过程可以带来以下优点: ...

    pl sql developer调试存储过程及调试包中创建的存储过程

    .PL/SQLDeveloper 调试存储过程需要 debug connect session 系统特权,如果用户权限不够,可以使用以下命令授予权限:用 sysdba 角色的用户名登录,使用如下命令 GRANT debug any procedure, debug connect session ...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

    ORACLE的存储过程的异步调用

    主要思路是使用 DBMS_JOB 包将主处理存储过程作为任务提交到任务队列中,并通过 DBMS_PIPE 包将处理情况放在管道中,最后监控存储过程读取管道了解处理情况。 知识点 1: 使用 DBMS_JOB 包实现异步调用 DBMS_JOB 包...

    PostgreSQL 存储过程调试

    使用`BEGIN...EXCEPTION`块来捕获和处理存储过程中的错误,这在调试时非常有用,因为它可以帮助定位错误发生的具体位置。 8. **性能优化** 调试不仅是为了修复错误,还可以寻找性能改进的机会。通过检查查询计划...

    存储过程参数查看器存储过程助手

    - 使用这些工具,开发人员和DBA无需手动编写SQL查询来检查存储过程,可以节省大量时间,减少错误,并提高工作效率。 7. **安全性**: - 存储过程参数查看器和助手还可以提供安全性方面的帮助,比如查看和管理存储...

Global site tag (gtag.js) - Google Analytics