我正在开发一个数据存档系统,它正在播放数百万/数十亿的数据。我已经使用php-jquery数据表服务器端处理创建了客户日志,该数据表日益增加(每行超过10列)。 目前它有500万行。现在日志变得非常慢(几乎无法使用 - 只是显示处理 ....)。
注意:日志是从几个表中动态创建的
有没有其他方法可以处理这种应用程序?
我的日志代码如下:
$(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();
});
答案 0 :(得分:1)
您是否考虑过在服务器端实施分页?
检查此链接: http://datatables.net/release-datatables/examples/data_sources/server_side.html