php - 内存不足(分配50855936)(尝试分配50331646字节)

原文 标签 php mysql memory

我有这个查询:

$start = 0;
$number_of_posts = 10;

 $sql = $db -> prepare("
            SELECT  U.username, U.offer_photo, F.activities, A.id_offer, A.offer, A.role, A.content, A.date_post, A.limit, B.type_offer, C.local  
            FROM  type_offer B, local C, offer A
            INNER JOIN users U
            ON U.id_user = A.company_users_id_user1
            INNER JOIN company F
            ON F.users_id_user = A.company_users_id_user1   
            WHERE state = 0 
            AND
            A.type_offer_id_type_offer = B.id_type_offer 
            AND
            A.local_id_local = C.id_local
            ORDER BY date_post 
            DESC LIMIT ?, ?
            ");
        $sql -> bind_param('ii',$start, $number_of_posts);
        $sql -> execute();
        $sql -> bind_result($username, $offer_photo, $actividades, $id_oferta, $oferta, $cargo, $conteudo, $data_post, $data_limite, $tipo_oferta, $local); //problem here
            $sql->fetch();
            $sql-close;

我有 memory_limit: 256M在 phpinfo();但是我仍然遇到内存问题。
我已经尝试过这段代码但没有成功:
set_time_limit(0);
ini_set('memory_limit', '2000M');

所以我的问题是,查询可以优化,或者我怎样才能增加内存?我无权访问 php.ini,但我认为 256MB 应该足够了,所以问题可能出在查询上。

最佳答案

u.offer_photo 是一个 blob 字段吗?如果是这样,我建议重写逻辑,以便在实际显示之前不要获取 blob 数据。

即使您可以通过增加分配来绕过内存限制,使用过多的内存既是反社会的,也是脆弱的,因为将来增加数据库大小可能会破坏系统。

关于php - 内存不足(分配50855936)(尝试分配50331646字节),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823011/

相关文章:

php - 分页工作但错误

mysql - SQL 查询仅在第二部分中随机进行联合和排序

javascript - 自动完成功能不起作用

c++ - 将可选参数传递给方法而不是对其进行计算的成本

c# - 如何快速将数组清零?

c++ - 如何拥有一个按值 vector 并结合使用一个指针 vector ?

php GD 创建一个透明的png图片

php - 如何在特定时间段内在 php 中显示任何内容?

php - Ajax请求导致服务器崩溃

mysql - 这个存储过程代码有什么问题?