这么的SQL 还能优化吗

这样的SQL 还能优化吗?SELECT *FROM (SELECT A.*, ROWNUM RNFROM (select *from v_ywb_sqxx awhere a.ywbh

这样的SQL 还能优化吗?
SELECT *
  FROM (SELECT A.*, ROWNUM RN
          FROM (select *
                  from v_ywb_sqxx a
                 where a.ywbh in (select ywbh
                                    from G14_xx b
                                   where b.org = 'BDI'
                                     and b.qfrq = '201301'
                                     and b.t_bs = '1')) A
         WHERE ROWNUM <= 30)
 WHERE RN >= 1

G14_xx 没有索引  v_ywb_sqxx 是个试图,每个表有索引
[解决办法]
执行计划、发出来
[解决办法]
用explain plan for的方式。
[解决办法]
最外层没啥意义吧?试一试去掉:
SELECT A.*, ROWNUM RN
FROM (select *
      from v_ywb_sqxx a
      where a.ywbh in (select ywbh
                       from G14_xx b
                       where b.org = 'BDI'


                       and b.qfrq = '201301'
                       and b.t_bs = '1')) A
WHERE ROWNUM <= 30
[解决办法]
观察一下,是否有必要在b.org  ,b.qfrq   ,b.t_bs 字段上加索引
[解决办法]
 in换成exist 试试 呗
[解决办法]
楼主抛一条sql就让人给你tuning?
建议先看看版主Dave :提问的智慧 http://bbs.csdn.net/topics/340214440

摘入如下:

5. SQL 相关的内容
    SQL 的问题,基本语法有关系,而且它报错也很明显,可以直接google或者查看在线文档。 如果还是不能解决,在发帖的时候,请把相关的表结构和测试数据的创建SQL,index情况Table的record数table是否analyze等信息一并贴出来。 这样也方便大家一起查看。

    还有对于SQL 性能的,最好一并贴上执行计划。 这样一看也就明了。 
    可以在sqlplus 开启autotrace, 在执行命令后也能看到相关的执行计划:
SQL>set autot on;
    或者通过如下SQL 语句:
(1)SQL>EXPLAIN PLAN FOR 你的sql语句;
             如 SQL>EXPLAIN PLAN FOR SELECT * FROM EMP WHERE EMPNO=7369;
       (2)SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));