我有一个包含数百万条记录的表。
我想确保 Oracle 只要找到第一个匹配项就停止查找。
select * from table1
where table1.column1 = 'somevalue'
AND table2.column2 = 'somevalue'
AND rownum = 1
我听说Oracle将获取满足column1和column2条件的所有行,然后仅应用rownum过滤器来获取第一行,这违背了目的。
对查询运行一个解释计划,您会发现您听错了——一旦根据查询的其余部分将一行识别为结果集的一部分,Oracle 就会应用 rownum 谓词。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)