datatable with tabs -is too slow for 2000 records

datatable with tabs -is too slow for 2000 records

srangamsrangam Posts: 3Questions: 0Answers: 0
edited April 2013 in DataTables 1.9
Hi,

We have a requirement of displaying large number of records 50,000 in one page and using server side processing. Tried the Scroller also not working ie will not responding at all for 2000 records. Can you please help

Replies

  • allanallan Posts: 63,498Questions: 1Answers: 10,471 Site admin
    Server-side processing should cope with millions of records. Pleas slink to a test case.

    Allan
  • srangamsrangam Posts: 3Questions: 0Answers: 0
    Hi,

    Please find the initialization code. I have seen your example code on scroller. My requirement is similar to that I would be able to display large number of records(50,000) at a time. But with 2000 records itself ie not responding. Also the memory grows higher Ex 30MB. Can you plz help us whether the setting is correct.

    http://datatables.net/release-datatables/extras/Scroller/large_js_source.html


    oTable = $('#sTable')
    .dataTable(
    {
    "sDom": 'frtiS',
    "bDeferRender": true,
    "oColVis": {
    "buttonText": "SHOW/HIDE",
    "sAlign": "left",
    "bRestore": true,
    "aiExclude": [0]
    },
    "oTableTools": {
    "aButtons": [
    {
    "sExtends": "print",
    "sButtonText": "EXPAND",
    "fnInit": function(node){formatTableToolsButton(node, 'ui-icon-print');},
    "sInfo": "Expanded View Please press escape or the return button when done",
    "sMessage": ""
    + " ",
    "bShowAll": false
    }
    ]
    },
    "sScrollX": "100%",
    "bScrollCollapse": false,
    "sScrollY": ${sScrollY},
    "bFilter": false,
    "oScroller": {
    "loadingIndicator": true
    },
    "bScrollCollapse": true,
    "oLanguage" : {
    "sInfo" : "Showing _START_ to _END_ records"

    },
    "bJQueryUI" : true,
    "bProcessing" : true,
    "bServerSide" : true,
    "aLengthMenu": ["All"],
    "iDisplayLength": -1,
    "bSortClasses": false,
    "bSort": false,
    "sAjaxSource" : "testAction.do?tmpValueForReload=" + Math.random(),

    "fnServerData" : fnDataTablesPipelineTest,
    "aoColumns" : [
    {
    "mDataProp" : null,
    "sClass" : "control center",
    "sDefaultContent" : "",
    "fnRender" : function(o, val) {
    if(showPlus(o)){
    return '';
    }
    return '';
    }
    },
  • allanallan Posts: 63,498Questions: 1Answers: 10,471 Site admin
    What part of it is slow - I'm going to guess the "testAction.do" script. If that's the case, then it is outside the scope of DataTables since that's not a script provided as part of the project. As I say, server-side processing, when implemented correctly, should be able to cope with millions of rows no problem. I don't know what your implementation looks like, but personally, I would start by looking at that.

    Allan
  • srangamsrangam Posts: 3Questions: 0Answers: 0
    Hi,

    Thanks for your response. testAction.do is going to fetch the rows from DB and returns as JSON array. Fetching part is quite fast. But rendering part taking long time. If I leave the browser like that the ie will not respond at all. What could be the reason for increase in the IE memory.

    Also, during scrolling, the table not make ajax query for additional data-loading like this scroller example: http://datatables.net/release-datatables/extras/Scroller/server-side_processing.html


    Thanks
  • allanallan Posts: 63,498Questions: 1Answers: 10,471 Site admin
    I need a link to a test page showing the problem to have any idea of what is going on.

    Allan
This discussion has been closed.