有没有办法在 QuestDB 中应用分页之类的查询结果?
Is there a way to apply something like pagination to query results in QuestDB?
我在 Questdb 中有很多大表,我正在使用示例 return 在节点应用程序中测试结果:
const all = await client.query("SELECT x FROM mytable;")
console.log(all.rows)
// can get all for this column
我想要类似于分页的功能,我想在其中 return 显示结果批次并进行计算,例如,假设批次或分页大小为 1000:
- 最近的 1000 行
- 下一批 1000 行
- 等...
您可以使用 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 或类似的。
QuestDB 中还有其他示例 documentation for LIMIT。
我在 Questdb 中有很多大表,我正在使用示例 return 在节点应用程序中测试结果:
const all = await client.query("SELECT x FROM mytable;")
console.log(all.rows)
// can get all for this column
我想要类似于分页的功能,我想在其中 return 显示结果批次并进行计算,例如,假设批次或分页大小为 1000:
- 最近的 1000 行
- 下一批 1000 行
- 等...
您可以使用 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 或类似的。
QuestDB 中还有其他示例 documentation for LIMIT。