-1

我正在处理显示组件的 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 > ?";

谢谢您的帮助!

4

2 回答 2

1

当人们尝试在没有执行计划和任何统计信息的情况下进行查询性能调整时,我总是感到惊讶。您应该做的第一件事是制定执行计划。

于 2012-08-30T02:44:52.103 回答
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 评论,谢谢

于 2012-08-29T19:57:25.973 回答