我有一个繁重的查询,它将数据假脱机到发送给用户的csv文件中。我手动进行了并行会话,并使用过滤条件执行查询,以便最终可以将所有假脱机文件连接到一个文件中,从而减少了生成数据的时间(通常大约需要10个小时,而并行会话则需要10小时) 2.5-3小时)。
我的查询是如何自动执行此操作,以便脚本将找出max(agreementid),然后将其分发到X个假脱机调用中,以生成X个文件,其中每个文件最多具有100000条记录。
补充说明:我想我的问题不是很清楚。我将尝试再次解释。
不知道我是否能使自己足够清楚。感谢大家对我之前的查询的答复,但这不是我要查看的内容。
有点不清楚您想要什么,但我认为您希望查询为x组ID(存储桶)找到一个低/高范围的protocol_ids。如果是这样,请尝试类似的操作(在此示例中使用4个存储桶):
select bucket, min(agreement_id), max(agreement_id), count(1)
from (
select agreement_id, ntile(4) over (order by agreement_id) bucket
from my_table
)
group by bucket;
编辑:如果您的问题在于假脱机处理多个查询和合并,那么我宁愿选择创建单个实例化视图(在驱动表的基础查询中使用并行)并在需要时刷新(完整,atomic_refresh => false)。刷新后,只需从快照表中提取(转换为csv或所需的任何格式)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句