17,089
社区成员
发帖
与我相关
我的任务
分享
WITH test AS(
SELECT 2 st,5 ed FROM dual UNION ALL
SELECT 4,7 FROM dual UNION ALL
SELECT 1,3 FROM dual)
SELECT DISTINCT TEST.ST, TEST.ED, ST + LEVEL - 1
FROM TEST
CONNECT BY ST + LEVEL - 1 <= ED
ORDER BY st,ed
[/quote]
数据表中start 到end 的跨度不会超过5
但是在有64条数据的时候 跑了2分钟还没有跑完
真实数据大概在200 - 500 之间, 不能跑。。[/quote]
我再想想吧,我才也发现好像确实有性能问题,数据集成基数增加,我还没找到原因。。。WITH test AS(
SELECT 2 st,5 ed FROM dual UNION ALL
SELECT 4,7 FROM dual UNION ALL
SELECT 1,3 FROM dual)
SELECT DISTINCT TEST.ST, TEST.ED, ST + LEVEL - 1
FROM TEST
CONNECT BY ST + LEVEL - 1 <= ED
ORDER BY st,ed
[/quote]
数据表中start 到end 的跨度不会超过5
但是在有64条数据的时候 跑了2分钟还没有跑完
真实数据大概在200 - 500 之间, 不能跑。。WITH test AS(
SELECT 2 st,5 ed FROM dual UNION ALL
SELECT 4,7 FROM dual UNION ALL
SELECT 1,3 FROM dual)
SELECT DISTINCT TEST.ST, TEST.ED, ST + LEVEL - 1
FROM TEST
CONNECT BY ST + LEVEL - 1 <= ED
ORDER BY st,ed