2012-12-05 33 views
2

我使用DataTables对我的结果进行分页。下面是我使用花费更多时间使用数据表获取记录

$('#datatable_paging').dataTable(
       { 
        "sPaginationType": "full_numbers", 
        "bLengthChange": false, 
        "iDisplayLength":15, 
        "bFilter": true, 
        "bSort": false, 
        "bInfo": true, 
        "bAutoWidth": false 
        } 
       ); 

现在的代码,它的工作不错,但问题是它需要时间来加载结果,因为我是获取所有记录,而不LIMIT(例如:2000)。我在互联网上搜索,我发现这个链接。

  1. DataTables server-side processing example for PHP
  2. DataTables server-side processing example for Code-Igniter

过程之前在服务器端的编码,我想,以确保有与我上面贴的代码LIMIT我查询的任何设置?

+0

虽然datatable是好的但如果你有成千上万的记录它将需要很多的执行时间我不会推荐它 –

+0

我有3k行(和10列),它加载<2秒 – Stranger

回答

0

你可以把在服务器端数据库查询一个极限,这将减少将数据从数据库传输到PHP,然后形成PHP来JS所需要的时间。 请让我知道是否有任何限制可以阻止使用LIMIT子句。

+0

我的代码上面贴出的是客户端过程。如果我们设定了限制,剩下的记录怎么样? –

+0

对不起.. !!错误“你可以把查询本身LIMIT” - >在服务器端脚本数据库查询放在限制。它会起作用吗? –

+0

不,它不会工作 –

2

您需要查看服务器端处理以加载记录。
http://datatables.net/examples/data_sources/server_side.html

这样你只需要返回的记录足以显示一个页面,每次点击下一步会做一个快速的Ajax请求,以获得下一批的记录。

+0

我通过谷歌搜索获得了相同的链接。谢谢。 –

相关问题