DataTable:如何使页面加载更快


DataTable : How to make a page load faster?

我的数据库中有大约20000行,我使用DataTable加载所有这些数据。

  • DataTable一开始就加载了我的所有数据
  • DataTable适用于100或以下的少量数据,但在我的情况下,我的页面加载页面大约需要3分钟。非常糟糕

使用DataTable提高加载速度的最有效方法是什么?


更新:

这是我的桌子

<table id="inventory_exact"> ...

这是我的设置

  // Setting to Inventory Table 
  $('#inventory_exact').dataTable({
    "lengthMenu": [ 10 ] ,
    "bLengthChange": false,
    "searchHighlight": true,
    "bInfo" : false
  });

更新2:-服务器端

@niyou:我使用PHP Laravel,所以我通过执行查询我的数据并显示它们

            @foreach ( Inventory::all() as $inventory)
             <tr>
                <td>{{ $inventory->sku }} </td>
                <td>{{ $inventory->description }} </td>
                <td>${{ $inventory->price }} </td>
                <td>{{ $inventory->stock }} </td>
             </tr>
            @endforeach

当您处理客户端大型数据集(我定义为超过1000)时,您可能希望切换到数据表数据的服务器端数据实现

使用最新的1.10语法,它看起来像这个

table = $('#example').DataTable( {
    serverSide: true,
    ajax: {
      url:"index.cfm/observers/json",
      },
  });

其中url返回一个json对象,该对象具有draw、totalrecordcount、totalfilteredcount和数据

我已经包含了文档的链接

Datatables服务器端文档

PHP示例脚本,用于使用SSP.class 生成Github上数据表所需的JSON

PHP脚本,用于为spagetti风格编写的数据表生成JSON(如果您不能使用SSP或需要使用较旧的数据表)