花费更多时间使用 DataTables 获取记录
Posted
技术标签:
【中文标题】花费更多时间使用 DataTables 获取记录【英文标题】:Taking more time to fetch records using DataTables 【发布时间】:2012-11-23 07:44:45 【问题描述】:我正在使用DataTables 对结果进行分页。这是我正在使用的代码
$('#datatable_paging').dataTable(
"sPaginationType": "full_numbers",
"bLengthChange": false,
"iDisplayLength":15,
"bFilter": true,
"bSort": false,
"bInfo": true,
"bAutoWidth": false
);
现在,它工作正常,但问题是加载结果需要时间,因为我正在获取所有没有 LIMIT
的记录(例如:2000)。我确实在互联网上搜索过,我找到了这个链接。
-
DataTables server-side processing example for php
DataTables server-side processing example for Code-Igniter
在处理服务器端编码之前,我想确保LIMIT
我的查询与我上面发布的代码有任何设置吗?
【问题讨论】:
虽然数据表很好,但是如果你有数千条记录,它会花费很多执行时间我不会推荐它 我有 3k 行(和 10 个列),它加载 【参考方案1】:您需要查看服务器端处理以加载记录。http://datatables.net/examples/data_sources/server_side.html
这样你只需要返回足够的记录来显示一个页面,每次点击下一步它都会做一个快速的ajax请求来获取下一批记录。
【讨论】:
【参考方案2】:你可以在服务器端的数据库查询中设置一个LIMIT,这样可以减少将数据从数据库传输到PHP,然后将php转换为js所需的时间。 请让我知道是否有任何限制会阻碍使用 LIMIT 子句。
【讨论】:
我上面发布的代码是客户端进程。如果我们设置了限制,那么剩下的记录呢? 对不起..!!错误“您可以在查询本身中设置限制”-> 在服务器端脚本中的数据库查询中设置限制。它会起作用吗?以上是关于花费更多时间使用 DataTables 获取记录的主要内容,如果未能解决你的问题,请参考以下文章
DataTables - 创建自定义分页样式(加载更多样式)
如果表中的行数很大(200 万),NDB cluster7.5(MySQL 5.7)在获取数据时会花费更多时间