我们有很多查询,我们认为"即发即弃"。
从某种意义上说,这些只是日志记录插入,更新等。不那么重要的东西,以及用户看到的前端从未使用过的数据。
这听起来像是mysql_unbuffered_query
的理想案例。
这是可取的吗?
我们正在使用 innodb,因此无法使用类似 INSERT DELAYED
的东西。
谢谢!
阅读 http://www.php.net/manual/en/mysqlinfo.concepts.buffering.php 后:
遵循这些特征,缓冲查询应在 您只期望有限的结果集或需要知道 读取所有行之前返回的行数。无缓冲模式 应在预期较大结果时使用。
似乎无缓冲查询仅在选择时有用,因为更新、插入和删除没有结果集。
我认为使用无缓冲更新、插入和删除没有任何问题,除了这个:
除非从服务器获取完整的结果集,否则不会再获取 可以通过同一连接发送查询。无缓冲查询可以 也称为"使用结果"。
那么,last_insert_id和affected_rows是结果吗?我不相信它,因为没有做任何mysql_fetch*来获取这些信息。
因此,如果您在使用无缓冲查询时遇到性能改进,请使用它!