jqGrid - PHP ile Yüksek bellek kullanımı

0 Cevap php

(Ben belleği kullanmak ... Ben sayfa başına görüntüleme am kayıtların sayıda yakın 3.000 sayfaları için yapar) bir jqGrid tabanlı ızgara içine veri büyük miktarda (60.000 girişleri etrafında) yükleme ve ben PHP kullanılarak olduğunu bulmak bir hataya neden olur (128mb üzeri) bellek büyük miktarda. Ben 256mb için kullanılabilir bellek miktarını artırdı ve şimdi çalışıyor ama bu neden olabilir ve ben bu konuda ne yapabilirim merak ediyorum?

Benim ızgara kurma kullanılan kod:

jQuery("#tlister").jqGrid({
                url:'/foo/bar/baz', // JSON data
                datatype: 'json',
                mtype: 'POST',
                colNames:['A', 'B', 'C', 'D', 'E'],
                colModel :[
                    {name:'a', index:'a', sorttype:'integer', width:80, editable: true, edittype:'custom', editoptions: { custom_element:custelem,custom_value:custval }},
                    {name:'b', index:'b', sorttype:'integer', width: 80, editable: false},
                    {name:'c', index:'c', width: 150, editable: false},
                    {name:'d', index:'d', width: 150, editable: false, hidden:true},
                    {name:'e', index:'e', width:200, editable: false, formatter: changeTo},
                ],
                editurl:'/foo/bar/bat',
                pager: '#pager',
                pgtext : "Page {0} of {1}",
                rowNum:20,
                loadonce: true,
                rowList:[20,40,60,80,100],
                width: 'auto',
                height: 'auto',
                caption: 'Foobar'
            });

EDIT: The ajax request to /foo/bar/baz hits the database and grabs all of the entries for that grid at once. The controller calls a method in the model which returns:

return $this->getTable()->fetchAll()->toArray();

Bu veriler daha sonra görünümüne atanan ve ızgara o kullanır. Ben 60.000 kayıtları kapma sadece pahalı ve benim sorunun nedeni olduğunu tahmin? Bu yüzden belki de her grid sayfa yük sınırlı bir veri alt kümesi daha verimli olacaktır kapma?

0 Cevap