我们有一台使用旧php(5.2.9)和MySQL(5.0.67)的服务器.这是一个已经运行多年的网站.现在,它被卡住了.
在使用strace时,我发现它在SELECT查询上停滞不前
从MySQL运行该命令
select * from table \G
工作正常
select * from table;
在我按Ctrl+C组合键之前不会停止运行、运行和运行.
我知道这是一个古老的服务器和配置,但这仍然很奇怪,不是吗?
我们有一台使用旧php(5.2.9)和MySQL(5.0.67)的服务器.这是一个已经运行多年的网站.现在,它被卡住了.
在使用strace时,我发现它在SELECT查询上停滞不前
从MySQL运行该命令
select * from table \G
工作正常
select * from table;
在我按Ctrl+C组合键之前不会停止运行、运行和运行.
我知道这是一个古老的服务器和配置,但这仍然很奇怪,不是吗?
当您使用;
终止查询时,结果将在表中格式化.它必须在打印任何内容之前读取所有结果,因为它必须找到每列的最大宽度,这样它们才能全部对齐.如果查询返回大量数据,它将挂起一段时间,然后才开始打印任何内容.
如果设置为\G
,则每行垂直打印,列位于不同的行上.这使它可以在数据库开始返回结果后立即开始打印.