【问题标题】:Filling Array Allowed memory size of填充数组允许的内存大小
【发布时间】:2014-01-22 22:17:49
【问题描述】:

我的表中有大约 150.000 条记录,我想填写我的数组,然后我想在其中搜索,但是因为数据太多,我得到了

** PHP 致命错误:第 21 行 /home//.....// 中允许的内存大小为 67108864 字节已用尽(尝试分配 39 个字节)**

我正在尝试通过此代码填写我的数组

$myArray=array();
while($row=mysql_fetch_array($myQueryName)){
    $myArray[$row['WordName']]=$row;
    echo $row['WordName'];
}

为了避免这个问题,我想我可以将填充数组分成两个或三个 0 - 50.000 数组 1 50.000 - 100.000 阵列 2 100.000 - 150.000 阵列 3 然后我会尝试在这3个数组中搜索。

我该如何解决。

【问题讨论】:

  • 错误,通过 SQL 执行搜索???这就是数据库的用途

标签: php arrays search


【解决方案1】:

我完全不建议使用 php 脚本搜索数据库,使用数据库引擎搜索该数据,它已针对此进行了优化。

如果你想改变 php 用于脚本的内存限制,你可以在 php.ini 中设置 memory_limit(在 linux 中,php.ini 位于 /etc/php/)。

memory_limit = 128M // This will be global

如果您希望每个脚本都使用 ini_set() 方法,请在开始时使用

ini_set("memory_limit","128M");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-05
    • 2020-04-26
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    相关资源
    最近更新 更多