我已经使用jQuery 可数据插件大约两年了,到目前为止效果很好。当我需要同时加载大约45000记录时(单击按钮并等待加载数据的页面)--加载时间太长,无法等待,这时就出现了这个问题。
下面是我使用Chrome浏览器进行的测试(数据来自它的Network ):
可数据插件打开:
5476记录:
24 requests ❘ 256.26KB transferred ❘ 19.80s
(onload: 19.80s, DOMContentLoaded: 18.58s)
45071记录:
34 requests ❘ 1.85MB transferred ❘ 11.1min
(onload: 11.1min, DOMContentLoaded: 11.0min)
可数据插件关闭( jQuery数据表初始化完成):
5476记录:
21 requests ❘ 255.84KB transferred ❘ 6.57s
(onload: 13.26s, DOMContentLoaded: 13.28s)
45071记录:
31 requests ❘ 1.84MB transferred ❘ 2.0min
(onload: 2.0min, DOMContentLoaded: 2.0min)
对于45k行,可数据的加载时间增加了80%,5k行的加载时间几乎超过了40%。
所以,我想知道你们是否知道有类似的插件可以更快地处理很多行( 45000+ ),还是我只是试图在“一举”中加载所有的45000+记录而忽略了这个问题?
如有任何建议,敬请谅解!
发布于 2012-07-25 09:32:48
来自DataTables常见问题( http://datatables.net/faqs#speed ):
如果您目前没有使用延迟呈现,您的45'000行,我肯定会建议。如果失败,对于DataTables选项,您可能需要查看服务器端处理。
发布于 2014-01-05 18:03:56
Allan的回答是好的;但是还有一件事(它对加载时间有很大的影响)是将bProcessing和bServerSide设置为true,如下代码所示:
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "../examples_support/server_processing.php"
} );
} );我的代码加载时间是15秒,现在大约需要1秒:)
发布于 2015-11-24 14:41:04
我发现浏览器插件也会降低DataTable的性能,在我的例子中就是如此。表本身的装载时间从大约15s增加到2s。
其中之一是Skype Toolbar,它会自动解析表中的数据,除非你告诉它不要这样做。
这对大桌子来说是个问题。很多用户都有这个插件,它不知不觉地减缓了他们对大表的加载速度。
有一个很好的解决方案,把这个添加到标题中。每个面向公众的DataTables网页都应该包含以下内容:
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />https://stackoverflow.com/questions/11646377
复制相似问题