0

我有一个 SQL,它使用 PHP 将系统的所有用户带回 MySQL 数据库中,我需要获取这些用户并将它们移动到另一个系统(不用担心这些字段,我已经映射了它们)。问题是我在数据库中有超过 67000 个用户。有什么办法可以用 PHP 做到这一点并立即获得所有结果?因为我试过给我一个错误,而不是一个错误,但是 PHP 不能一次返回所有结果。

4

3 回答 3

1

您可能已经达到 PHP 的默认内存限制。你有(至少)2个选项:

  1. 一次获取它们(就像您现在所做的那样),并增加 PHP 可能在该脚本中使用的内存。您可以在名称“memory_limit”下找到它。 http://nl3.php.net/manual/en/ini.core.php 请注意,您只对当前脚本执行此操作,而不是通过修改 php.ini 在系统范围内执行此操作。
  2. 以较小的批次获取您的记录,例如每次 1000 条。这样你就不会达到你的内存限制。

在这两种情况下,您都可能希望增加脚本的运行时间。看看最大执行时间。

http://nl3.php.net/manual/en/info.configuration.php#ini.max-execution-time

于 2012-07-25T12:17:56.393 回答
0

把它放在你的 PHP 脚本之上: ini_set('memory_limit', '512M');

你可以给 php 脚本少于 512MB ofc

于 2012-07-25T12:21:41.580 回答
0

您可以在 SQL 中使用限制

限制 0, 1000

限制 10001, 2000

ETC

于 2012-07-25T12:22:02.453 回答