1

首先,我故意使用已弃用的mysql函数(而不是mysqli),所以请不要告诉我我应该更改为mysqli.

我的问题是:如果我想执行 INSERT 或 UPDATE 并立即继续处理 PHP 脚本,而无需等待 MySQL 完成任务,我可以使用mysql_unbuffered_query(是这样做的吗?)或者如果不是,我该如何实现?

4

2 回答 2

8

很抱歉打断你:)

如果您使用 mysqli 和 mysqlnd 驱动程序,您可以将一个MYSQLI_ASYNC选项传递给query()方法。无缓冲查询在这里没有帮助。

稍后您可以使用poll()reap_async_query()来获得结果。

于 2013-03-18T13:16:25.287 回答
3

您可以使用INSERT...DELAYED进行异步插入 (1)。我不相信您可以在UPDATE不借助产生另一个进程的情况下执行异步 (2)。

(1) 但不适用于InnoDB表格

(2) 如果坚持旧mysql扩展是绝对要求

于 2013-03-18T13:15:15.353 回答