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

PHP / MySQL脚本在~2500次查询后挂起

我有一个脚本,加载〜5000-8000个对象,对它们执行一些逻辑,然后尝试插入/更新MySQL表.

在大约2500个查询之后,数据库停止执行查询,并且脚本只是挂起而没有抛出错误.我需要建议你在这种情况下会做些什么.服务器是一个Windows框,如果这有所作为.我在PHP5中使用MysqL_connect.

我已经在所有查询之后使用exit命令放置了MysqL_error语句,它们从不触发.我也定了

set_time_limit(0);
ini_set("memory_limit", "256M");
error_reporting(E_ALL | E_STRICT);

试图抛出更多错误.什么都没发生,没有错误,也没有完成执行.它停止的行也是随机的,没有任何独特之处,因为它总是在停止之前更新的不同行.

您将使用哪种技术来描述此错误

解决方法:

您是否可以使用LOAD DATA INFILE加载数据?这将需要访问服务器上的MysqL控制台.如果可以的话,那将是最佳选择.

除此之外,唯一的另一种方法是交错插入所以运行,比如说2200个查询然后用页面重定向进行页面重定向以加载下一个集合等(存储最后一个id或会话中唯一的东西以便恢复) .

此外,如果您可以进行查询EXTENDED INSERTS并且一次加载大约500个,那么这也会有所帮助.我一次说500个因为根据数据的大小,如果你试图通过扩展插入一次输入太多数据,MysqL会打嗝.

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

相关推荐