【问题标题】:Pagination and sorting large amount of data对大量数据进行分页和排序
【发布时间】:2014-03-06 09:04:25
【问题描述】:

我想知道如何在使用某些数据的表格显示的任何应用程序中正确实现排序和分页机制。假设我们有一些具有 id 和描述的实体。数据库中有很多它们的实例。我想按描述按字母顺序排序。但我想快速获得结果。如果不从数据库中获取所有记录,对它们进行排序,然后只显示其中的一部分,这是否可行?解决此问题的最佳(从性能角度)方法是什么?

我的问题是假设性的,与任何特定的语言或框架无关。

【问题讨论】:

    标签: performance algorithm sorting pagination


    【解决方案1】:

    可以分两次完成

    第一个仅返回按任何标准排序的实体的ids。 ids 的列表保存在内存中。

    第二个占一页,即ids 的子列表,并从数据库中获取整个实体以进行展示。

    【讨论】:

    • 假设有数十亿或更多的 ID,这可能需要一段时间。我认为问题背后的想法是避免加载(甚至只是部分)所有记录。
    • 在单个数据库中存储数十亿个 ID 并让它们高效查询并非易事。数十亿条记录可能更好地存储在多个数据库中,然后可以并行完成计算。看来问题是指单个数据库。
    • 是的。它指的是单个数据库。事实上,鲍里斯,你的解决方案说服了我 :)
    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 2012-08-04
    • 2011-04-25
    • 2016-07-16
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多