【问题标题】:How to handle millions of records in react js and sails jsreact js和sails js如何处理百万条记录
【发布时间】:2016-10-25 12:36:25
【问题描述】:
我有一张包含数百万条记录的表。我使用 Sails js 作为我的服务器端代码,React js 在视图中呈现数据,Mysql 作为我的 DBMS。那么以更快的方式检索数据的最佳方法是什么。
就像最终用户不喜欢获取大量影响 UI 的数据一样。
我应该先只带 50 条记录,然后使用分页逻辑在底部显示分页,然后使用 socket.io 在后台获取其余的吗?
或者有什么好的处理方法?
【问题讨论】:
标签:
reactjs
socket.io
sails.js
【解决方案1】:
这实际上取决于您希望用户如何浏览数据。
您可能需要一个 API 调用来仅获取第一页数据(可能以您可以获取任何页面的方式:api/my-data/<pagesize>/<pagenumber>)。
然后,这取决于您希望用户做什么。他会点击每一页来查看所有数据吗?在这种情况下,加载所有其他以及您提到的似乎没问题。然而,这对我来说似乎不太可能。
如果您希望您的用户只查看几个页面,您可以在后台加载下一页的数据 (api/my-data/<pagesize>/<currentpage+1>),然后在用户每次导航时加载下一页。
那你可能还需要支持跳转到某个页码,这里需要检查是否有数据,然后在获取数据的时候显示加载状态(或者什么都没有)。
这一切都说我不明白为什么你需要 socket.io 而不是普通请求(如果服务器需要能够向客户端发出“请求”,你真的只需要 socket.io)