Php 自动提交与单个事务(小项目与大项目)
我目前正在开发一个非常专业的PHP框架,它可能需要处理大型数据库传输 例如: 占整个用户总数的一半;这应该是框架每天的工作区 因此,如果大型项目需要我的框架,那么建议将单个事务与多个查询一起使用(例如,使用联接(?)在一个查询中执行许多操作),还是首选自动提交 如果可能的话,发表一些讨论过这个问题的博客文章Php 自动提交与单个事务(小项目与大项目),php,sql,mysql,transactions,frameworks,Php,Sql,Mysql,Transactions,Frameworks,我目前正在开发一个非常专业的PHP框架,它可能需要处理大型数据库传输 例如: 占整个用户总数的一半;这应该是框架每天的工作区 因此,如果大型项目需要我的框架,那么建议将单个事务与多个查询一起使用(例如,使用联接(?)在一个查询中执行许多操作),还是首选自动提交 如果可能的话,发表一些讨论过这个问题的博客文章 谢谢 MyISAM是无事务的,因此自动提交不会影响它 对于InnoDB,自动提交使得重复查询的速度慢了数百倍 当然,最好的决定是基于集合执行所有操作,但如果必须在循环中执行查询,请关闭“自动
谢谢 MyISAM是无事务的,因此自动提交不会影响它 对于InnoDB,自动提交使得重复查询的速度慢了数百倍 当然,最好的决定是基于集合执行所有操作,但如果必须在循环中执行查询,请关闭“自动提交” 还要注意的是,“多个查询”和“使用
连接在一个查询中做许多事情”是完全不同的事情
后者是一种原子操作,即使在MyISAM
上也会立即成功或失败
自动提交本身并不影响其性能:此查询中的所有内容始终在单个事务中完成
在一个查询中执行许多操作实际上是执行许多操作的首选方式。MyISAM
是无事务的,因此自动提交不会影响它
对于InnoDB,自动提交使得重复查询的速度慢了数百倍
当然,最好的决定是基于集合执行所有操作,但如果必须在循环中执行查询,请关闭“自动提交”
还要注意的是,“多个查询”和“使用连接在一个查询中做许多事情”是完全不同的事情
后者是一种原子操作,即使在MyISAM
上也会立即成功或失败
自动提交本身并不影响其性能:此查询中的所有内容始终在单个事务中完成
在一个查询中执行许多操作实际上是执行许多操作的首选方式。连接不仅有用,而且在任何数据结构中都是必需的,而且是最简单的数据结构。考虑没有它们的写作显示了对关系数据库设计和对我的访问的根本缺乏理解。不使用联接通常会导致在select中获得问题的错误答案。在插入、更新和删除中,您可能不需要连接,但它们也经常被使用和使用。连接不仅有用,而且在任何最简单的数据结构中都是必需的。考虑没有它们的写作显示了对关系数据库设计和对我的访问的根本缺乏理解。不使用联接通常会导致在select中获得问题的错误答案。在插入、更新和删除过程中,您可能不需要连接,但它们也经常被使用和使用。您确定了解事务是什么吗?因为“用连接在一个查询中做很多事情”并不特别具有事务性。编写一个不针对特定项目的“PHP框架”听起来像是一场灾难。如果你没有一个特定的,有资金支持的项目,肯定会使用它,没有其他人会。我不想表达我的意思,对不起。“做很多事”!=“事务”这应该包括一个单独的问题,当我要构建框架以每天执行许多查询时,连接是否“有用”。你确定你理解事务是什么吗?因为“用连接在一个查询中做很多事情”并不特别具有事务性。编写一个不针对特定项目的“PHP框架”听起来像是一场灾难。如果你没有一个特定的,有资金支持的项目,肯定会使用它,没有其他人会。我不想表达我的意思,对不起。“做很多事”!=“事务”这应该包括一个单独的问题,当我要构建框架以每天执行许多查询时,连接是否“有用”。