微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在phpMyAdmin中查看表时出错:#1038-内存不足

如何解决在phpMyAdmin中查看表时出错:#1038-内存不足

我正在将服务器从 PHP 7.2,MysqL 5.7 升级到现在的 PHP 7.4,MysqL 8.0

尝试在 PHPMyAdmin 5.0.2 中查看一个特定的数据库表时,由于出现错误,我现在无法这样做:

#1038 - Out of sort memory,consider increasing server sort buffer size

这是旧版Web应用程序的表。具有以下特点:

  • MyISAM
  • 108列
  • 26000行
  • 自动递增主键
  • 12个外键索引

问题是,我从未在此表或任何其他表上遇到此错误,因为数据库已经在许多不同版本的服务器上运行了10多年。这只是自升级MysqL 8以来的。请注意,我没有升级PHPMyAdmin本身;它没有升级。之前运行良好。

仅当单击表的浏览标签时,才在PHPMyAdmin中发生此错误。如果我在 sql 选项卡中手动运行自己的查询,例如SELECT * FROM tbl或什至添加一个ORDER BY子句,它就可以正常工作并向我显示整个表。如果我从服务器上的MySQL命令行运行自己的查询,它也可以工作。

我相信当您单击表的浏览选项卡时,PHPMyAdmin运行基本的SELECT * FROM tbl。如果您选择了其他列作为排序依据,那么我认为它可能会在下次通过PHP会话浏览表时记住您的最后选择。因此有可能尝试对引起问题的特定列进行排序。

有人用PHPMyAdmin遇到此问题吗?我不想更改sort_buffer_size MysqL配置变量,因为我认为这不是一个很好的解决方法。与往常一样,它是认值。如何在这里找到实际问题并优化表本身?

我也将表更新到InnoDB,但是由于它的遗留特性,并且由于我之前说过它一直在工作,因此目前还不是一个选择。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。