在 MySQL 事务中 运行 整个 PHP 应用程序是否可以?
Is it ok to run whole PHP application in a MySQL transaction?
在MySQL事务中运行整个PHP应用程序可以吗?
有没有副作用?
我的意思是这样的:
- 客户请求A.php
- A.php -> 开始mysql交易
- A.php -> 执行并处理请求
- A.php -> 提交 mysql 事务
- 向客户端发送请求的数据
我不会将此 运行 称为一个事务中的整个 PHP 应用程序 ,而是一个处理每个请求的 PHP 脚本在单独的交易中。
没关系,只要您了解与事务相关的概念,例如锁定、死锁、饥饿...本质上,您应该喜欢在任何其他环境中不要锁定数据库对象超过必要的时间,更喜欢细粒度行锁优于完整 table 锁并保护您的数据库免于死锁。
但是由于这些相同的概念适用于纯 SQL 基于引擎(存储过程)的解决方案,因此没有特别的理由不在 PHP 中执行此操作。
在MySQL事务中运行整个PHP应用程序可以吗?
有没有副作用?
我的意思是这样的:
- 客户请求A.php
- A.php -> 开始mysql交易
- A.php -> 执行并处理请求
- A.php -> 提交 mysql 事务
- 向客户端发送请求的数据
我不会将此 运行 称为一个事务中的整个 PHP 应用程序 ,而是一个处理每个请求的 PHP 脚本在单独的交易中。
没关系,只要您了解与事务相关的概念,例如锁定、死锁、饥饿...本质上,您应该喜欢在任何其他环境中不要锁定数据库对象超过必要的时间,更喜欢细粒度行锁优于完整 table 锁并保护您的数据库免于死锁。
但是由于这些相同的概念适用于纯 SQL 基于引擎(存储过程)的解决方案,因此没有特别的理由不在 PHP 中执行此操作。