我的数据库中有大约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或需要使用较旧的数据表)