0
我有2个需要加入的表。提高连接性能
都有很多记录。
表(表a)中的一个索引如下:account_number,start_date,end_date(全部唯一)。
第二个表没有索引(表b)。
表a有大约450,000,000条记录,表b有大约20,000,000条记录。 眼下加入需要大约20分钟,我需要更快.. 这是查询:
select *
from a, b
where
a.ACCOUNT_NUMBER = b.ACCOUNT_NUMBER AND
TRUNC(a.CREATE_DATE) BETWEEN b.START_DATE AND b.END_DATE
,关于如何提高它的任何想法(索引,分区,另一种加入的) 有什么想法将受到欢迎。
在最合理的情况下,此查询可能会返回数千万行。结果集有多大?您的查询可能已被优化。结果集可能真的很大。 –
开始时,您可以在'b.account_number'上创建索引。如果此列值分散可能足够。 – partlov
你能发布dbms_xplan输出吗? – stee1rat