【发布时间】:2014-09-11 07:35:09
【问题描述】:
我有一个应用程序从主机获取心跳(一个简单的 http 请求),通常主机每 x 分钟生成一个请求。这会导致大量完全独立的 php 页面运行,这些页面执行读取查询,然后(可能)向 RDS 数据库生成一个单行插入,如果它成功并不重要(错过一个节拍不是原因警报,有几个)
但是,使用 mysqli,我在 IOP 上的开销很大——它发送一个 BEGIN、我的单行插入,然后是一个 COMMIT——因此似乎使用了三个 IOP,而我只需要一个。
有没有办法完全避免交易?我可以更改 auto_commit,但它没有用,因为处理程序的每次运行都是独立的,因此没有其他插入可以与此组合。即使关闭 auto_commit 仍然会运行一个事务,但只会在连接关闭时结束它(无论如何都会在一次插入之后发生。)
或者我应该切换到原始 mysql 处理以提高效率(大量工作)?旧的 mysql php 库(已弃用)?还有什么?
【问题讨论】:
标签: php mysql performance mysqli transactions