不好改select a.*这个要求限制了,只能从index上动脑筋了

解决方案 »

  1.   

    对于这句SQL不知道是否能继续优化,不过可以从磁盘的I/O性能提升角度考虑,对大表分区。
      

  2.   

    試下這樣會不會快一點..
    select a. *, m.amount
      from tableA  a,
           (
           select b.fieldD, sum(c.total_amount) amount
               from tableA b, tableB c
              where b.fieldId = c.fieldId
                and b.fieldA in ('AA', 'BB', 'CC', 'DD', 'EE', 'FF')
                and b.fieldC = 100 and
                
              group by b.fieldD
              ) m
     where
          a.fieldD = m.fieldD 
      and a.fieldC = 100 
      and a.fieldA = 'GG'