您应该查看 MySQL 错误日志。
如果您无权访问机器(托管等),您可以向您的管理员或帮助台询问该日志。
MySQL 支持非常大的查询。我不确定是否有任何限制,但是当您使用网络时 - 您可能会遇到数据包大小的问题。
您可以检查--max_allowed_packet
MySQL 配置,并尝试设置更大的数据包大小。我不确定默认配置,但它可能是 1MB,这对于一次获取 7000 次更新的查询可能太小了。
MySQL 可能需要更多 RAM 来处理这样的查询。
如果您无法重新配置 MySQL,则必须以某种方式将大查询拆分为较小的查询。
您还可以阅读本文以获取更多信息:
devshed - MySQL 服务器已经消失
您询问:
是否有可能更快地运行多个查询?
这个问题没有简单的答案。它取决于查询、数据库模式等。
在大多数情况下,增加配置文件中的 MySQL 缓存大小可能会有所帮助,因为数据库引擎将在 RAM 内存上运行,而不是在硬盘上运行。当使用大缓存时 - 有时第一个大查询可能会更慢,因为数据尚未加载到 RAM 中,但当它最终加载时 - 需要大量读/写操作的查询会运行得更快。
稍后添加:
我假设您的数据处理需要 php deserialize() 函数,这可能很难在纯 SQL 中实现,您必须在 PHP 中执行:) 如果您可以访问服务器控制台,您可以创建 cron (linux sheduler) 作业,在夜间从 shell 调用 PHP 脚本。
稍后添加
在评论中讨论后,我还有一个想法。您可以从 phpmyadmin 制作完整的数据库或一张表备份,下载它,在家用计算机上恢复数据(在 Windows 上,您可以使用 XAMPP、WAMP 服务器)。在您的家用计算机上,您可以运行 mysql.exe 并在本地处理数据。