SELECT *
FROM (SELECT TEMP.*,
ROWNUM RNUM
FROM (SELECT entry_guid
FROM alertdevtest.ENTRY
WHERE Upper(alert_name) = 'alertname'
AND user_guid = 'AlertProductClientTest'
AND product_code = '-101'
AND status_code != 13) TEMP
WHERE ROWNUM <= 2500)
WHERE rnum >= 0;
SELECT *
FROM (SELECT TEMP.*,
ROWNUM RNUM
FROM (SELECT entry_guid
FROM alertdevtest.ENTRY
WHERE Upper(alert_name) = 'alertname'
AND user_guid = 'AlertProductClientTest'
AND product_code = '-101'
AND status_code != 13
AND product_view IN ( 'PView' )) TEMP
WHERE ROWNUM <= 2500)
WHERE rnum >= 0;
我运行了以上两个查询,发现第二个查询的性能比第一个要差。唯一的区别是在第二个查询中增加了过滤条件 AND PRODUCT_VIEW IN ('PView') ,但该列已经创建了索引。请告诉我性能降低的原因,并且如何检查索引是否被使用?我正在使用Oracle SQL开发人员,尝试检查执行计划但得不到太多细节。
PRODUCT_VIEW = 'PView'
д»ЈжӣҝPRODUCT_VIEW IN ('PView')
еҗ—пјҹиҝҷж ·дјҡжҸҗй«ҳжҖ§иғҪгҖӮеҸҰеӨ–пјҢдҪ иғҪеҲҶдә«дёҖдёӢдҪ зҡ„жү§иЎҢи®ЎеҲ’еҗ—пјҹ - undefined