在我们的网络应用程序中,搜索结果显示在可排序的表格中。用户可以单击任何列并对结果进行排序。问题是有时,用户进行广泛搜索并返回大量数据。为了使可排序部分工作,您可能需要所有结果,这需要很长时间。或者我一次可以检索很少的结果,但这样排序就不会很好地工作。显示可能包含大量数据的可排序表的最佳做法是什么?
谢谢大家的建议。我一定会检查这些。
我们正在使用现有的 Javascript 框架,该框架具有可排序表; “很多”结果意味着数百个。问题是我们的用户位于某个远程站点,并且大量延迟是从数据中心发送/接收数据的网络时间。在数据库端对数据进行排序并且一次只发送一页结果很好;但是当用户单击某些列标题时,将完成另一次往返,这总是会增加 3-4 秒。
嗯,我想这可能是网络团队的问题:)
最佳答案
在数据库级别使用排序分页是正确的答案。如果您的查询返回 1000 行,但您只打算向用户显示其中的 10 行,则无需通过网络发送其他 990 行。
这里是一个mysql的例子。假设您需要来自“people”表的 10 行,21-30:
SELECT * FROM people LIMIT 21, 10
关于javascript - 具有大量数据的可排序表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/117570/