Php 是否有允许对一个表执行多个并发查询的事务的替代方案&;确保表处于一致状态?

Php 是否有允许对一个表执行多个并发查询的事务的替代方案&;确保表处于一致状态?,php,mysql,sql,multithreading,Php,Mysql,Sql,Multithreading,我有一个innodb表,我想对一些维护查询执行,这些查询将在并行线程上进行,它们将包括(按顺序): 选择、更新、选择、删除、插入 我只想允许1个并行线程访问该部分,那么有什么东西允许我这样做吗 mutex.block() select update select delete insert mutex.release() 这将在php中实现,所有查询都将使用php函数mysqli\u query执行 我希望能有一个事务的替代方案,如果这里只能做事务,那就这样吧。MySQL的特性和功能 PHP几

我有一个innodb表,我想对一些维护查询执行,这些查询将在并行线程上进行,它们将包括(按顺序):

选择、更新、选择、删除、插入

我只想允许1个并行线程访问该部分,那么有什么东西允许我这样做吗

mutex.block()
select
update
select
delete
insert
mutex.release()
这将在php中实现,所有查询都将使用php函数
mysqli\u query
执行

我希望能有一个事务的替代方案,如果这里只能做事务,那就这样吧。

MySQL的特性和功能

PHP几乎支持所有POSIX锁定机制,如和(但默认情况下这些机制不可用,请参阅相关的“安装/配置”手册章节)

但实际上,我看不出有什么理由要实现自己的同步机制:事务正是为了实现这一目的而存在的,而且可能比任何自制的事务都更高效、更可靠


(如果您关心性能,那么数据库后端可能不是正确的选择)

默认情况下,InnoDB对单个更新/删除执行行级独占锁定。如果要将整个事务包装在锁中,则事务是最佳选择。这取决于执行方法,如果有多个进程响应线程,则使用适当的互斥将不起作用,因为无法共享由pthreads创建的互斥(这是有充分理由的)。如果您使用pthreads在命令行上执行,那么请这样说,我将提供代码。。。