我有一种情况,我得到两个不同的结果相同的查询只有区别在选择部分的列的位置(第一和第二逆转到第二和第一)
select a11.GN_ID,a11.GN_NM
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;
这超出SQL QUERY,导致600次记录
select a11.GN_NM,a11.GN_ID
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;
这超出SQL QUERY,结果为0记录。
答案 0 :(得分:0)
如果您不理解您认为应提供相同输出的两个查询之间的区别,则最好的第一步是检查执行计划。
你可以通过运行SHOW PLANFILE来做到这一点;运行查询后立即。
例如:
select a11.GN_ID,a11.GN_NM
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;
SHOW PLANFILE;
select a11.GN_NM,a11.GN_ID
FROM TABLE1 a10, TABLE2 a11
where a10.GN_ID=a11.GN_ID;
SHOW PLANFILE:
将planfile输出添加到您的问题中,以便我们帮助评估。