db2 一个2千多条数据的表和一个100多万条数据的表相关联 很慢

table1(2千多条数据),table2(100多万条数据) 共同字段ID
SELECT * FROM TABLE1 L1 LEFT JOIN TABLE2 L2 ON L1.ID=L2.ID;
执行这条语句很慢。需要50多分钟,还没执行完?为什么呢?

第1个回答  2010-12-04
将两个表的ID加一个字段,就快很多了。不然DB2会用针对L1的所有记录都对L2进行一次表扫描。
第2个回答  2010-12-04
并不是所有的业务逻辑都是需要两张表连接的。
可以先用过滤条件从一张表里把数据查出来 这样数据量会缩减到 百十条 然后再用 in exists。或者用查出来的结果集做字表。再连接。本回答被网友采纳
相似回答