`
annan211
  • 浏览: 456384 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在mysql内部存储代码

阅读更多
在mysql内部存储代码
  在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
  先看优点:
  1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
  2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
  3 可以简化代码的维护和版本更新。
  4 可以帮助提升安全,比如提供更细粒度的权限控制。一个常见的例子是银行用于转移资金的存储过程,这个存储过程可以在
    一个事务中完成资金转移和记录用于审计的日志。
  5 服务器可以缓存存储过程的执行计划,这对于需要反复执行的过程,这会大大降低消耗。
  6 因为是在服务器端部署的,所以备份、维护都可以在服务器端完成。所以存储程序的维护工作会很简单。他没有什么外部依赖,
    不需要依赖外部程序的部署。
  7 他可以在应用程序和数据库开发人员之间更好地分工。不过最好是由数据库专家来开发存储过程,因为不是每个应用开发人员
    都可以写出高效的sql查询。
	
  缺点:
   1 mysql本身没有提供很好的开发和调试工具,所以编写mysql的存储代码比较困难。
   2 较之应用程序的代码,存储代码的效率稍微差些。例如 可以使用的函数有限,很难写出比较复杂的逻辑。
   3 存储代码可能会给应用城的代码的部署带来额外的复杂性。原先只需要部署应用程序和库表结构,现在还需要部署额外的mysql过程。
   4 因为存储过程都部署在服务器内部,所以具有安全隐患,一旦服务器被攻破,就有可能泄露所有的数据。
   5 过程会给服务器增加额外的压力,而数据库服务器的扩展性相比应用程序要差很多。
   6 过程中的一个小错误,可能会把服务器拖死。
   7 较之pl/sql t-sql mysql的存储代码功能还非常非常若。
   8 调试mysql过程代码 是一件非常困难的事情。

   请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

 

 

 

分享到:
评论

相关推荐

    高性能MySQL(第3版).part2

    7.4在MySQL内部存储代码276 7.4.1存储过程和函数278 7.4.2触发器279 7.4.3事件281 7.4.4在存储程序中保留注释283 7.5游标283 7.6绑定变量284 7.6.1绑定变量的优化286 7.6.2SQL接口的绑定变量286 7.6.3绑定...

    mysql存储过程——用于数据库的备份与还原

    在压缩包中的"procedure"文件可能包含了实现上述功能的MySQL存储过程代码。这个存储过程可能包含了一些内部函数或变量来处理表名列表,以及可能的配置选项,如是否备份触发器、索引等。为了使用这个存储过程,你需要...

    mysql5.7源代码

    MySQL 5.7源代码是开源数据库管理系统MySQL的一个版本,主要用C++语言编写,它提供了数据库存储、查询处理、事务管理等核心功能。通过分析和研究MySQL的源代码,我们可以深入了解数据库系统的内部机制,这对于数据库...

    mysql存储过程实例

    由于存储过程内部语句要以分号结束,所以在定义存储过程前应将语句结束标志“;”更改为其他字符,并且该字符在存储过程中出现的几率也应该较低,可以用关键字 delimiter 更改。 删除存储过程 存储过程创建之后,...

    MySQL5新特性之存储过程MySQL5新特性之存储过程

    9. **优化性能**:由于存储过程在首次调用时会被编译成内部的二进制代码,之后的调用可以直接执行,从而提高了执行速度。 10. **减少网络流量**:相比于多次发送单个SQL语句,调用一个存储过程可以减少网络上的数据...

    mysql内核 innodb存储引擎

    逐一详细讲解了InnoDB存储引擎内部的各个功能模块,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份,以及InnoDB的性能调优等重要的知识...

    MySQL存储过程.rar

    当需要执行时,只需调用存储过程的名称,而无需再次编译其内部的SQL代码。这种预编译特性减少了网络流量,提高了执行速度,尤其是在频繁执行相同操作时。同时,存储过程还能提升数据的安全性,因为它可以限制用户对...

    一个MySQL的简单存储过程

    在MySQL中,使用存储过程可以提高应用程序性能、减少网络流量、增强代码的重用性以及实现更复杂的业务逻辑。 #### 二、创建存储过程 在MySQL中,创建存储过程的基本语法如下: ```sql DELIMITER $$ CREATE ...

    玩转MySQL存储过程

    ### 玩转MySQL存储过程 ...**结论**:尽管如此,存储过程的核心理念——提高代码复用性、增强安全性以及提高执行效率,在两种数据库系统中都是相通的。根据实际需求选择合适的数据库系统和存储过程实现方式至关重要。

    MySQL存储过程实例教程

    如果存储过程内的语句需要以分号结束,但分号在SQL中又是语句的结束符,这时可以通过`DELIMITER`命令来临时改变语句结束符,例如`DELIMITER //`,这样在存储过程内部,`//`就成为新的语句结束符。 在MySQL中,存储...

    MySQL接口的代码

    MySQL接口也支持调用存储过程和触发器,这些是数据库级别的功能,可以在数据库内部执行复杂的逻辑。 10. **数据库设计与规范**: 在使用MySQL接口之前,合理的数据库设计至关重要,遵循范式理论,确保数据的完整...

    mysql存储过程调试工具

    MySQL存储过程调试是数据库开发中的重要环节,它能帮助开发者检查和优化代码,确保存储过程的正确性和效率。本文将详细介绍MySQL存储过程调试工具的使用,以及如何在不同版本的MySQL中进行有效调试。 首先,MySQL...

    MySQL存储过程经典教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一组SQL语句并封装成一个可重复使用的对象。这个经典教程旨在深入探讨存储过程的各个方面,帮助读者掌握这一强大的数据库编程工具。 1. **存储...

    MySQL存储过程基础教程.pdf

    存储过程是存储在MySQL服务器上的预编译的SQL代码段,它能够接受参数、执行一系列的SQL语句和流程控制语句。存储过程可以提高数据库操作的效率,同时可以将复杂的操作封装起来,简化操作过程。 #### 2. 为什么要...

    mysql存储过程之返回多个值的方法示例

    MySQL存储过程是数据库中用于执行复杂操作的一组预编译的SQL语句,它们可以接收输入参数、输出结果以及在内部处理数据。在本示例中,我们将探讨如何通过存储过程返回多个值,并且结合PHP进行调用。 首先,我们要...

    mysql存储过程mysql存储过程

    MySQL 存储过程是一种预编译的 SQL 代码块,它能够接受输入参数,返回单个或多个结果,并可包含复杂的流程控制逻辑。通过存储过程,可以提高应用程序与数据库交互的效率,减少网络传输的数据量,以及实现更为复杂的...

    mysql-5.1.63源代码

    MySQL是世界上最受欢迎的开源数据库系统之一,其5.1.63版本是在2012年4月发布的。源代码的获取和理解对于开发者、DBA(数据库管理员)以及对数据库内部工作原理感兴趣的人来说至关重要。MySQL 5.1是5.x系列的一个...

    精通MySQL存储过程和函数

    本手册适用于对MySQL存储过程和函数感兴趣的开发者和技术人员,特别是那些希望深入了解并掌握如何在实际项目中高效利用这些功能的专业人士。手册中的所有示例和操作均基于CentOS 6.2 64位系统和MySQL 5.6版本进行。 ...

Global site tag (gtag.js) - Google Analytics