oracle优化查询百万数据,百万数据查询慢,大家帮忙sql语句优化下

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

百万数据查询慢,大家帮忙sql语句优化下,查询贼慢

SELECT * FROM (SELECT qua.qua_id,

qua.row_status,

exam.numbers,

exam.exam_id,

app.class_code,

app.class_id,

pur.res_name,

pur.region_name,

pur.job_name,

exam.row_addtime,

exam.audit_status,

bmb.valid_flag,

bmb.stu_count

FROM gx_score_quali qua,

gx_exam exam,

gx_class_apply app,

(SELECT tu.class_id,

qub.qua_id,

co.valid_flag,

count(1) stu_count

FROM gx_class_apply_stu tu,

gx_score co,

gx_exam_stu s,

gx_score_quali qub

WHERE tu.cstu_id = s.cstu_id

AND (to_number(co.score_num1) *

to_number(qub.num1) + to_number(co.score_num2) *

to_number(qub.num2)) >=

to_number(qub.qua_sco) * 100

AND qub.row_status = '1'

AND co.estu_id = s.estu_id

GROUP BY tu.class_id, co.valid_flag, qub.qua_id

UNION ALL

SELECT tu2.class_id,

qub2.qua_id,

co2.valid_flag,

count(1) stu_count

FROM gx_class_apply_stu tu2,

view_gx_score co2,

gx_exam_stu s2,

gx_score_quali qub2

WHERE tu2.cstu_id = s2.cstu_id

AND (to_number(co2.score_num1) *

to_number(qub2.num1) + to_number(co2.score_num2) *

to_number(qub2.num2)) >=

to_number(qub2.qua_sco) * 100

AND to_number(co2.score_num2) >= 50

AND to_number(co2.score_num1) >= 50

AND qub2.row_status = '2'

AND co2.estu_id = s2.estu_id

GROUP BY tu2.class_id, co2.valid_flag, qub2.qua_id) bmb,

view_gx_res_pur pur

WHERE exam.class_id = app.class_id

AND app.pur_id = pur.pur_id

AND bmb.class_id = app.class_id

AND bmb.qua_id = qua.qua_id

AND TRIM(qua.yue) = TRIM(exam.numbers)

AND qua.job_id = pur.job_id

ORDER BY exam.row_addtime DESC)

WHERE audit_status = '2'

AND valid_flag = '1'

ORDER BY row_addtime ASC

查询了用了几十秒,大家帮忙看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值