24、存储程序的优缺点及在PHP中的使用

存储程序的优缺点及在PHP中的使用

1. 存储程序的缺点

存储程序虽然有显著优势,但也存在一些缺点,以下是详细介绍:

1.1 计算性能较差

在执行计算密集型任务时,如“数字运算”算法、复杂字符串操作等,存储程序(尤其是 MySQL 存储程序)通常比 PHP、Java 和 Perl 等语言慢。大多数情况下,存储程序的时间主要花在数据库访问上,此时存储程序因网络开销较低而具有性能优势。但如果要编写计算密集型程序,在存储程序语言和 Java 等其他语言之间选择时,建议不使用存储程序。

1.2 导致逻辑碎片化

将数据访问逻辑封装在存储程序中通常是有用的,但将业务和应用逻辑分散在存储程序、中间层或应用客户端中是不明智的。调试涉及存储程序代码和其他应用代码交互的错误,比调试完全封装在应用层的代码困难得多。例如,目前没有调试器可以跟踪从应用代码到 MySQL 存储程序代码的程序流程。

1.3 缺乏可移植性

虽然存储程序可以通过将依赖于 RDBMS 的 SQL 封装在存储程序调用中来构建独立于 RDBMS 的应用程序,但这仅适用于处理参数和返回结果集语义相似的 RDBMS 类型。MySQL、DB2 和 Microsoft SQL Server 实现的存储程序行为相似,都能返回多个结果集,且大多数语言访问这些结果集的调用是兼容的。然而,Oracle 是个例外,其存储程序返回的结果集是作为输出参数中的引用,而不是独立的结果集。要检索这些结果集,必须编写高度特定于 Oracle 的应用代码。因此,如果目标是实现 MySQL 和 Oracle 之间的可移植性,至少在实现返回结果集的调用时,建议使用 ANSI 标准

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值