奇怪的mysql select loop with ; but not \G

tp5buhyn  于 2023-11-16  发布在  Mysql
关注(0)|答案(1)|浏览(107)

我们有一个服务器,用的是老的php(5.2.9)和mysql(5.0.67)。这是一个已经运行多年的网站。现在它卡住了。
对于strace,我看到它在选择查询上卡住了
从mysql运行命令

select * from table \G

字符串
工作正常

select * from table;


不停地跑啊跑啊直到我Ctrl+C为止。
我知道这是一个古老的服务器和配置,但仍然很奇怪,不是吗?

igetnqfo

igetnqfo1#

当使用;终止查询时,结果被格式化为一个表。它必须在打印任何内容之前读取所有结果,因为它必须找到每列的最大宽度,以便它们都对齐。如果查询返回大量数据,它将在开始打印任何内容之前挂起一段时间。
\G使它垂直打印每一行,列在单独的行上。这允许它在数据库开始返回结果时立即开始打印。

相关问题