我正在php中运行一个mysql查询,它返回大量数据,需要一些时间才能运行。为了运行这个查询,我必须告诉mysql不要缓冲查询。
我在执行查询时使用mysql游标来处理查询,这样可以大大节省内存使用。
为了使用光标,我必须设置 MYSQL_ATTR_USE_BUFFERED_QUERY = false
.
例如:
// Turn off mysql buffering
DB::connection()->getPdo()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$complexQuery->cursor();
// Turn mysql buffering back on
DB::connection()->getPdo()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
运行此查询大约需要12秒。我想知道在这段时间里,其他课程是否也有 MYSQL_ATTR_USE_BUFFERED_QUERY = false
还是特定于连接?
暂无答案!
目前还没有任何答案,快来回答吧!