Jquery 提高Ajax请求性能以加载DataTable中的数百万条记录

Jquery 提高Ajax请求性能以加载DataTable中的数百万条记录,jquery,ajax,laravel,datatable,Jquery,Ajax,Laravel,Datatable,如何改进单个表中超过2500万行的加载。我有一个datatable实现,它需要这种强制。我已经有了其他解决方案。 但这是否有可能提高ajax请求性能,以便在30-40秒内加载表中的数据 我的DataTable正在使用ajax调用加载数据您不应该一次加载所有这些记录。这将是非常缓慢的,你对此无能为力 解决这个问题的一个办法是实施。通过这种方式,您可以在服务器端修改数据库查询,以仅加载应显示的记录。 已经有几个Laravel包可以为您构建这些查询。例如:.如果您在30秒内在一个数据表中加载2500万

如何改进单个表中超过2500万行的加载。我有一个datatable实现,它需要这种强制。我已经有了其他解决方案。 但这是否有可能提高ajax请求性能,以便在30-40秒内加载表中的数据


我的DataTable正在使用ajax调用加载数据

您不应该一次加载所有这些记录。这将是非常缓慢的,你对此无能为力

解决这个问题的一个办法是实施。通过这种方式,您可以在服务器端修改数据库查询,以仅加载应显示的记录。

已经有几个Laravel包可以为您构建这些查询。例如:.

如果您在30秒内在一个数据表中加载2500万行,那么性能似乎已经相当惊人了。然而,为了使这些数据在UI中实际可用,您应该考虑实现分页、过滤和排序。如果您需要更具体的帮助来实现这一点,请在问题中添加更多关于您当前逻辑的详细信息。您当前使用php循环或基于json的方式获取数据吗?不要。完全停止,只是不要。浏览器不是为OLAP设计的,在浏览器中获取这么多数据只是浪费时间,可能会使最终用户的机器崩溃(可能比开发人员的机器规格低)。相反,在使用datatables时实现服务器端排序/分页/etc:若试图加载百万条记录,则浏览器不支持表中的那个么多记录。这就是为什么要检查这个堆栈溢出问题。@Rorymcrossan谢谢你的建议。我已经对此进行了调查,所有这些都没有任何帮助。我的数据正在分块加载。服务器端处理在这里没有帮助,因为我也给了我的用户导出按钮,当我启用服务器端处理时,该按钮将不起作用。还有关于拉威尔·亚吉拉的包裹。如果我在这里没有得到任何有用的解决方案,我还有最后一个选择。@divyamohan kashyap:我相信,您可以根据请求的行调整服务器端逻辑,从适当的数据块提供数据表。仅仅为了加载条目而暂停应用程序很长时间是没有意义的,因为用户无法一次看到、理解或处理所有条目。从这个角度来看,
serverSide:true
是最佳解决方案。至于导出,您可以使用自己的工具覆盖嵌入式DataTables导出工具,例如,单击“导出”按钮后,您将抛出一个ajax调用,并使用准备好的服务器端文档进行响应。