uniapp post请求万条数据就超时,那百万条数据怎么处理呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp post请求万条数据就超时,那百万条数据怎么处理呢?相关的知识,希望对你有一定的参考价值。

uniapp post请求万条数据就超时,那百万条数据怎么处理呢?

参考技术A uniapp post请求万条数据就超时,那百万条数据怎么处理呢?那不能处理的百万条信息会被当做垃圾删入回收站 参考技术B 想设置uni.request 的超时时间,找了半天没找到,最后差点用上settimeout了.才发现这配置是放在manifest.json里的。
关于配置的地址:https://uniapp.dcloud.io/collocation/manifest?id=networktimeout

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

【中文标题】提高 Ajax 请求性能以在 DataTable 中加载数百万条记录【英文标题】:Impoving Ajax request performence to load millions of records in DataTable 【发布时间】:2019-08-06 10:41:50 【问题描述】:

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

我的 DataTable 正在使用 ajax 调用 https://datatables.net/reference/option/ajax 加载数据

【问题讨论】:

如果您在 30 秒内在数据表中加载 2500 万行,听起来性能已经相当惊人了。但是,要使这些数据量在 UI 中实际可用,您应该考虑实现分页、过滤和排序。如果您需要更具体的帮助来实现这一点,请在问题中添加有关您当前逻辑的更多详细信息 目前您使用 php 循环或基于 json 的方式获取数据? 不要。句号,只是不要。浏览器不是为 OLAP 设计的,尝试在浏览器中获取这么多数据只是浪费时间,并且可能会导致最终用户的机器崩溃(这可能会比开发机器的规格更低)。相反,实现服务器端排序/分页/等 - 当您使用数据表时:datatables.net/manual/server-side 如果您尝试加载百万记录浏览器不支持表中的那么多记录。这就是为什么REFERENCE 检查这个 *** 问题。 @RoryMcCrossan 感谢您的建议。我已经调查过了,所有这些都没有任何帮助。 【参考方案1】:

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

解决方案是实现Server-side processing。这样,您可以在服务器端修改数据库查询,以仅加载应显示的记录。 Laravel 已经有几个包可以为你构建这些查询。例如:yajra/laravel-datatables。

【讨论】:

我的数据分几块加载。服务器端处理在这里没有帮助,因为我已经给了我的用户导出按钮,当我启用服务器端处理时它也不起作用。关于 Laravel Yajra 包。如果我在这里没有得到任何有用的解决方案,我有最后一个选择。 @divyamohan kashyap:我相信,您可以调整服务器端逻辑以根据请求的行从适当的块中提供 DataTable。仅仅为了加载条目而暂停您的应用程序很长时间确实没有意义,因为用户无法一次看到、理解或处理这些条目。从这个角度来看,serverSide: true 是最佳解决方案。至于您的导出,您可以使用自己的覆盖嵌入式 DataTables 导出工具,例如,在单击“导出”按钮时,您将抛出一个 ajax 调用并使用在服务器端准备好的文档进行响应。

以上是关于uniapp post请求万条数据就超时,那百万条数据怎么处理呢?的主要内容,如果未能解决你的问题,请参考以下文章

1300多万条数据30G论坛大数据优化实战经验小结

如果在单个请求中与 Oracle 和 PostgreSql 交互以处理超过 20 万条记录,如何提高 EF Core 性能

ES批量操作超时问题处理

ThinkPHP导出百万条数据量

在数据表中显示数百万条记录

内存使用:GET与POST?