【问题标题】:Memory limit of 10240 KB exceeded for buffered query缓冲查询超出了 10240 KB 的内存限制
【发布时间】:2016-11-03 08:03:06
【问题描述】:

美好的一天,我正在为我的searching 尝试run queries

但我得到了这个结果

错误号:IMSSP/-59

超过 10240 KB 的内存限制 缓冲查询

这是我的查询

SELECT * From transaksi a 
left join Outlet b on a.Outlet = b.OutletCode
left join area c on b.areacode = c.areacode where b.BrandCode like  '%AR-1%'
and b.areacode like '%%' and b.OutletCode like '%%' and tanggal 
between '2016-03-01' and '2016-07-31'

从我上面的查询中我得到16046 rows

-- 一个测试--

当我尝试进行仅显示 10 rows 的其他搜索时,该错误未显示。

SELECT * From transaksi a 
left join Outlet b on a.Outlet = b.OutletCode
left join area c on b.areacode = c.areacode where b.BrandCode like  '%AR-1%'
and b.areacode like '%%' and b.OutletCode like '%K-SRLM%' and tanggal 
between '2016-05-01' and '2016-05-10'

这里没有使用range 显示411 rows

SELECT * From transaksi a 
left join Outlet b on a.Outlet = b.OutletCode
left join area c on b.areacode = c.areacode where b.BrandCode like  '%AR-1%'
and b.areacode like '%%' and b.OutletCode like '%K-SRLM%'

这是我的完整脚本。

function show_it()
    {
        extract(populateform());
        if($date_search == "")
        {
            unset($date_search);
        }
        if(isset($date_search)){
        $explode = explode('-',$date_search);
        $start_date = inggris_date($explode[0]);
        $end_date = inggris_date($explode[1]);
        $result = $this->modelmodel->showdata("SELECT * From transaksi a 
                                                left join Outlet b on a.Outlet = b.OutletCode
                                                left join area c on b.areacode = c.areacode where b.BrandCode like  '%$tipenya%'
                                                and b.areacode like '%$area%' and b.OutletCode like '%$outlet%' and tanggal 
                                                between '$start_date' and '$end_date'
                                                ");
        }else{
        $result = $this->modelmodel->showdata("SELECT * From transaksi a 
                                                left join Outlet b on a.Outlet = b.OutletCode
                                                left join area c on b.areacode = c.areacode where b.BrandCode like '%$tipenya%'
                                                and b.areacode like '%$area%' and b.OutletCode like '%$outlet%' 
                                                ");
        }   
    }

【问题讨论】:

    标签: php sql-server-2008 xampp sqlsrv


    【解决方案1】:
    1. 关于“内存限制”问题: 要么通过设置增加内存限制,要么在查询中添加限制。
    2. 让我们知道哪个查询只为您提供 10 行。您的第一个查询只搜索那些 BrandCode 在提供日期之间类似于“%AR-1%”的结果。可能是其他查询只满足 10 个结果。

    【讨论】:

    • 您是否手动检查了有多少条记录满足条件,因为系统搜索数据满足 BrandCode 如 '%AR-1%' 和 OutletCode 如 '%K-SRLM%'?
    • 没有范围日期,结果显示411 rows
    • 我们需要检查它的日期范围或注释您脚本中的日期部分并检查结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    相关资源
    最近更新 更多