我有一个很大的查询要做,然后我转换为JSON,所以我在转换过程中得到了JAVA中的OutofMemory Exception。我试图实现的是动态分配查询多次调用它。
即
SELECT ROWS x/10 multiply by (SELECT COUNT(*) FROM myquery) to
y/10 multiply by (SELECT COUNT(*) FROM myquery)
FROM myquery
我从http端点上的python脚本调用此查询,因此我可以将我的负载分开,以便将其调用十次,例如将x,y替换为1到10.
示例选择第一个0/10到1/10记录,然后是1/10到2/10,然后是2/10到3/10 ... 9/10到10/10。
答案 0 :(得分:2)
您需要一个字段来命令您的行调用它order_field
。并使用分析函数 NTILE(10) 创建10个组
然后传递变量@YourPage
以指示您想要的页面
SELECT *
FROM (
SELECT *,
NTILE(10) OVER (ORDER BY order_field) as page_number
FROM yourTable
) T
WHERE T.page_number = @YourPage