我们有一台使用旧php(5.2.9)和MySQL(5.0.67)的服务器.这是一个已经运行多年的网站.现在,它被卡住了.

在使用strace时,我发现它在SELECT查询上停滞不前

从MySQL运行该命令

select * from table \G

工作正常

select * from table;

在我按Ctrl+C组合键之前不会停止运行、运行和运行.

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

推荐答案

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

如果设置为\G,则每行垂直打印,列位于不同的行上.这使它可以在数据库开始返回结果后立即开始打印.

Mysql相关问答推荐

根据键的数量,SQL Json字段分为行

更新MySQL表中子记录的序号

如何在WooCommerce中更新pm_Virtual.meta_Value=#39;否

递归查询意外地为一个字段返回空值

MySQL工作台的编码问题

SQL:如何 Select 每个客户最后购买的产品?

"Shelf服务器容器访问MySQL Docker容器时出现SocketException异常"

MySQL 可以用于将列表排序为三分之三吗?

为什么 `count` 函数有效但 `sum` 无效?

谁能帮我优化where子句

MySQL如何在小时和分钟之间 Select 时间

如何通过未知列中的唯一值有效地更新 MySQL 行

将每组的总和除以总数

MySQL中两个时间字段的分钟差

如何使用 laravel 连接 mysql?

MySQL - 在 MySQL UPDATE 或 SELECT 查询中使用 If Then Else

phpMyAdmin - 无法连接 - 无效设置 - 自从我添加了 root 密码 - 被锁定

带有 LIKE 运算符的 Select 语句中的 MySQL case

BIGINT mysql 性能与 INT 相比

我在哪里可以下载 mysql jdbc jar?