【问题标题】:Is there a way to apply something like pagination to query results in QuestDB?有没有办法将分页之类的东西应用于 QuestDB 中的查询结果?
【发布时间】:2021-02-19 09:47:35
【问题描述】:

我在 Questdb 中有许多大表,我正在使用示例测试在节点应用程序中返回结果:

const all = await client.query("SELECT x FROM mytable;")
console.log(all.rows)
// can get all for this column

我想要一个类似于分页的东西,我想返回、显示和计算批次的结果,例如,假设批次或分页大小为 1000:

  • 最近的 1000 行
  • 下一批 1000 行
  • 等。 ...

【问题讨论】:

    标签: node.js questdb


    【解决方案1】:

    您可以使用LIMIT 关键字:

    const first = await client.query("SELECT x FROM mytable LIMIT 1000;")
    

    可以使用范围获取第二批:

    const second = await client.query("SELECT x FROM mytable LIMIT 1000, 2000;")
    

    如果数据集是静态的,这可能没问题,但如果数据集是动态的,并且在您的初始查询和具有范围的查询之间的时间内有新记录传入,则可能会有不希望的偏移量。在这种情况下,可能有更有效的方法,例如一次性获取更大的批次并将客户端分页为 JSON 或类似的。

    QuestDBdocumentation for LIMIT中还有其他示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 2021-05-01
      • 1970-01-01
      相关资源
      最近更新 更多