mysql - 奇怪的 mysql select 循环与 ;但不是\G

标签 mysql

我们有一台带有旧版 php (5.2.9) 和 mysql (5.0.67) 的服务器。这是一个已经运行多年的网站。现在它卡住了。

使用 strace,我看到它卡在选择查询上

从 mysql 运行命令

select * from table \G

工作正常

select * from table;

不会停止运行、运行、运行,直到我按下 Ctrl+C。

我知道这是一个古老的服务器和配置,但这仍然很奇怪,不是吗?

最佳答案

当您使用 ; 终止查询时,结果将格式化在表格中。它必须在打印任何内容之前读取所有结果,因为它必须找到每列的最大宽度,以便它们全部对齐。如果查询返回大量数据,它会在开始打印任何内容之前挂起一段时间。

\G 使其垂直打印每一行,并将各列放在单独的行上。这使得它可以在数据库开始返回结果时立即开始打印。

关于mysql - 奇怪的 mysql select 循环与 ;但不是\G,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77418280/

相关文章:

mysql - 在mysql中一起更改唯一键

php - 当条目具有\n 时修复 LOAD DATA INFILE

mysql - 按最常见的 product_id 对已售出表进行排序

php - EasyAppointments 和 Bootstrap 网站之间的共享登录 session

mysql - 如何优化聚合SQL?

Java持久化API : Glassfish tries to use derby instead of MySQL?

java - 如何检查 Java EE 应用程序中的数据库连接泄漏?

C# 和 MySQL - 字符串替换

java - 如何以 JSON 格式显示多对一对象

mysql - 从多值组合框填充子报表。