条件oracle,Oracle在where子句中添加一个条件会减慢查询速度"/>
where多个条件oracle,Oracle在where子句中添加一个条件会减慢查询速度
在根据少数表格(其中一些非常庞大(超过10亿条记录)和一些相当小(100条记录))生成报告时,需要17分钟。但是我在where子句中添加了一个条件,它开始运行1个小时以上。
table1有10亿条记录,添加的条件是“and line_ind in('Y','*')”。
问题是,为什么CBO会从联结的结果集中进行全表扫描?有序的提示似乎没有帮助,所以想知道如何使这个选择运行更快。
这里是表格的记录数
table1(a) 1,234,432,435
table2(b) 1,234,432,435
table3(c) 900
table4(d) 602,364,856
table5(e) 80
table6(f) 50
table7(g) 264,938,373
table8(h) 14,827
SELECT DISTINCT c_cd,
ci_nbr,
c.s_id1,
d.d_cd,
SUM (CASE WHEN (D_CD = 'MAILED') THEN 1 ELSE 0 END) AS MAILED
FROM table1 a
LEFT OUTER JOIN table2 b ON (a.o_id = b.o_id AND a.co_sid = b.co_sid)
INNER JOIN table3 c
ON c.c_sid = a.c_sid AND c.c_cd IN ('CC364', 'CC552')
INNER JOIN table4 c ON a.sc_sid = c.sc_sid
<更多推荐
where多个条件oracle,Oracle在where子句中添加一个条件会减慢查询速度
发布评论