Я разрабатываю систему архивирования данных, которая играет миллионы/миллиарды данных. Я уже создал клиентский журнал с обработкой серверных данных таблицы php-jquery, которая растет с каждым днем (с более чем 10 столбцами каждой строки). в настоящее время он имеет 5 миллионов строк. теперь журнал регистрации становится чрезвычайно медленным (почти unusable- просто показывает обработку....).
примечание: журнал регистрации создается из нескольких таблиц на ходу
есть ли другой способ справиться с этим видом приложения?
мой код журнала выглядит следующим образом:
$(document).ready(function() {
var oTable = $('#example').dataTable( {
"bFilter": true,
"bSearchable": true,
"bProcessing": true,
"bServerSide": true,
"sPaginationType": "full_numbers",
"aoColumnDefs" : [ { 'bSortable' : false, 'aTargets' : [6,7]} ], // unclickable or unsortable column in the header
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"aButtons": [ "copy", "csv", "xls", {
"sExtends": "pdf",
"sPdfMessage": "Full Logbook of Customer: <?php echo "$customerName"; ?> "
}],
//"aButtons": [ "select_all", "select_none" ],
"sSwfPath": "js/swf/copy_csv_xls_pdf.swf"
},
"sAjaxSource": "server-processing/logbook.php?customer=<?php echo $customer; ?>",
"fnServerData": function( sUrl, aoData, fnCallback ){
$.ajax( {
"url": sUrl,
"data": aoData,
"success": fnCallback,
"dataType": "json",
"cache": false
});
}
});
oTable.columnFilter({ sPlaceHolder: "head:after",
aoColumns: [
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" }
]
});
var asInitVals = new Array();
var oTable = $('table.display').dataTable();
});
Считаете ли вы, что вы используете разбивку на страницы на стороне сервера?
Проверьте эту ссылку: http://datatables.net/release-datatables/examples/data_sources/server_side.html