javascript - 具有大量数据的可排序表的最佳方法

标签 javascript database jquery-ui-sortable

在我们的网络应用程序中,搜索结果显示在可排序的表格中。用户可以单击任何列并对结果进行排序。问题是有时,用户进行广泛搜索并返回大量数据。为了使可排序部分工作,您可能需要所有结果,这需要很长时间。或者我一次可以检索很少的结果,但这样排序就不会很好地工作。显示可能包含大量数据的可排序表的最佳做法是什么?


谢谢大家的建议。我一定会检查这些。

我们正在使用现有的 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/

相关文章:

Android 中的 Javascript 应用程序

javascript - 如果我可以声明 JS const,为什么还要使用 AngularJs .constant() ?

javascript - D3.js 中的点图

javascript - 我的 NodeJS promise 代码竞争条件安全吗?

javascript - 在 deepstream.io 中的第一个 getRecord 上创建 RethinkDB 表

javascript - 直观的可排序和可拖动的 UI 指示器

javascript - jQuery - html5sortable - 使用 Ajax 的可排序插件

database - 是否有带数据库逆向工程的 Perl ORM?

mysql - 重启多线程perl脚本并关闭mysql连接

javascript - Ember.js 和 jQuery 可排序。如何解决变形脚本