我正在处理显示组件的JSF页面。我想问你如何优化这个SQL查询。我在家,我无法访问Oracle服务器来测试查询:
SqlStatementSmall = "SELECT a.* FROM (SELECT b.*, rownum rn "
+ " FROM (select y.name, y.serialnumber, y.location, y.type, y.powerwatt,"
+ " y.dateadded, y.datedeployed, y.weightkg, y.uform, y.zonecage"
+ " FROM component x, componentstats y where x.componentstatsid = y.componentstatsid"
+ " and y.componenttypeid = 1122 ORDER BY %s %s) b"
+ " WHERE rownum <= ?) a"
+ " WHERE rn > ?";
感谢您的帮助!
答案 0 :(得分:1)
你好,
select y.name, y.serialnumber, y.location, y.type, y.powerwatt,y.dateadded, y.datedeployed, y.weightkg, y.uform, y.zonecage, rownum rn
from component x
inner join componentstats y on x.componentstatsid = y.componentstatsid
where y.componenttypeid = 1122
and rownum <= ?
and rownum > ?
ORDER BY %s %s
更新 注意:这不起作用,请参阅@Justin Cave评论,谢谢
答案 1 :(得分:1)
当人们尝试在没有执行计划和任何统计信息的情况下进行查询性能调优时,我总是感到惊讶。你应该做的第一件事就是制定执行计划。