php - 在 php 中设置 mysql 属性会更改每个人的属性还是仅更改当前连接?
问题描述
我在 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
或它是否特定于连接?
解决方案
推荐阅读
- javascript - d3js获取矩形的角坐标
- reactjs - React: Uncaught ReferenceError: Autocomplete is not defined 即使导入了 js 库
- java - Clock.systemUTC() 和 Clock.systemDefaultZone() 有什么区别?
- xml - 如何(以及使用哪种工具)在 Azure 中发送 Soap 请求(数据工厂、逻辑应用程序、API 管理......)
- xamarin - Xamarin-Nsurlsession UploadTask 在后台不适用于 iOS
- go - 为什么我在尝试从从未在 goroutine 中接收数据但在 main func 中接收数据的通道中读取时不会出现死锁
- macos - 从原始 PDF 文本恢复被 Mac 的 Preview 应用程序损坏的 PDF 中的注释
- python - 在 QPlainTextEdit 元素中使用 Shift+Return 的 QShortcut 和 QKeySequence
- android - 模拟器无法启动(c066d201:未处理的退出 1d)
- vb.net - 公共函数返回 VB.Net