SELECT * FROM A,B
WHERE A.a=B.b AND B.b=0
==========================
这个sql看上去很合理实际上却有一点点问题
在db2的sql语义解析的时候
B.b=0可以使用索引,但是A.a=B.b的时候,A.a却无法使用索引
看上去A.a=B.b和B.b=0能推论出A.a=0
但是sql的语义分析结果却并不如此
===========================
当sql文改成
SELECT * FROM A,B WHERE A.a=0 AND B.b=0的时候
查询时间从10分多钟变成了3秒多
============================
结论:sql很笨,要尽量精确,用最小的目标进行连接,而不是在连接中达到最小目标