当前位置:Gxlcms > 数据库问题 > mysql内部代码的优缺点

mysql内部代码的优缺点

时间:2021-07-01 10:21:17 帮助过:19人阅读

mysql内部代码有四种:存储过程,存储函数,事件,触发器。

  存储过程&存储函数: 优点: 内部执行,离数据最近,另外在服务器上执行还可以节省宽带和网络延迟 代码重用,可以方便地统一业务规则,保证某些行为总是一致,也可以为应用提供一定的安全性。 简化代码的维护和版本更新。 帮助提升安全,提供更细颗粒度的权限控制。 缓存执行计划,如果反复调用可以降低消耗。 维护简单,没外部依赖 更好在开发和数据库维护人员间分工。   缺点: mysql没有提供好的开发和调试工具,编写调试困难。 效率差,存储过程使用的函数有限,难以编写复杂的字符串维护功能,也难以实现太复杂的逻辑。 部署带来额外的复杂性。 带来额外的内部存储代码。 有安全隐患 给服务器带来额外压力 mysql没有资源消耗控制进程,如果存储过程发生错误,可能直接把服务器拖死。 调试困难。         触发器: 缺点: 功能有限。 对于每一个表的每一个时间,最多只能定义一个触发器。 Mysql只支持“基于行的触发”——所以说,触发器是针对一条记录的。而不是针对整个sql语句的,如果更变的数据集非常大的话,效率会很低。 而且触发器会掩盖服务器背后的工种,影响潜在效率,对性能排查造成阻碍。 触发器问题难以排查,尤其是性能问题 触发器可能导致死锁和锁等待,如果触发器失败,sql执行也会失败。 触发器并不能保证更新原子性。 优点: 减少客户端和服务端之间的通信 简化应用逻辑 提高性能 可用于自动更新反范式化数据或者汇总汇总表数据。   事件(直接汇总): 在Mysql内部实现 通常把复杂代码封装成存储过程再通过call来调用 事件在一个独立事件调度进程中被初始化,这个线程和处理链接的线程没有任何关系。不接受常熟也没有返回值。 用于定期维护任务。                

mysql内部代码的优缺点

标签:计划   通过   调试   返回   四种   错误   cal   任务   简单   

人气教程排行