2个sql,那个效率高,为什么
 
SELECT B.agentname,
       B.CITYNAME,
       B.ORGNAME,
       A.DSTID,
       ' ' || TO_CHAR(A.COMMITTIME, 'YYYY-MM-DD HH24:MI:SS'),
       C.ENUMDESC,
       A.MSGCONTENT,
       A.num
  FROM (select max(DSTID) DSTID,
               max(MSGCONTENT) MSGCONTENT,
               max(RECEIVER_SCHOOLID) RECEIVER_SCHOOLID,
               max(COMMITTIME) COMMITTIME,
               count(1) num,
               SYSMESSAGETYPE,
               message_id
          from JUSTONE4.LIST_MT partition(p2)
         where SYSFUNCTIONID = 2
           AND COMMITTIME < TRUNC(to_date('20090301', 'yyyymmdd'))
           AND COMMITTIME >=
               to_date(to_char(to_date('20090301', 'yyyymmdd') - 1, 'yyyymm') || '01',
                       'yyyymmdd')
         group by message_id, SYSMESSAGETYPE) A,
       (SELECT L.ORGID SCHOOLID,
               L.ORGNAME,
               D.ORGNAME CITYNAME,
               a.orgname agentname
          FROM JUSTONE4.ORGDETAIL_SCHOOL  L,
               justone4.orgdetail_city    D,
               justone4.orgdetail_agentl1 a
         WHERE L.CITYID = D.ORGID
           AND L.Agentl1id = a.orgid
           AND L.CITYID = 20) B,
       JUSTONE4.ENUMDETAIL C
 WHERE A.RECEIVER_SCHOOLID = B.SCHOOLID
   AND A.SYSMESSAGETYPE = C.ENUMVALUE
   AND C.FIELDNAME = 'SysMessageType'
 ORDER BY B.agentname, B.CITYNAME, B.ORGNAME, C.ENUMDESC
 
 
 
SELECT B.AGENTNAME,
    B.CITYNAME,
    B.ORGNAME,
    A.DSTID,
    ' ' || TO_CHAR(A.COMMITTIME, 'YYYY-MM-DD HH24:MI:SS'),
    (SELECT C.ENUMDESC
     FROM JUSTONE4.ENUMDETAIL C
     WHERE A.SYSMESSAGETYPE = C.ENUMVALUE
      AND C.FIELDNAME = 'SysMessageType'),
    A.MSGCONTENT,
    A.NUM
 FROM (SELECT MAX(DSTID) DSTID,
        MAX(MSGCONTENT) MSGCONTENT,
        MAX(RECEIVER_SCHOOLID) RECEIVER_SCHOOLID,
        MAX(COMMITTIME) COMMITTIME,
        COUNT(1) NUM,
        SYSMESSAGETYPE,
        MESSAGE_ID
     FROM JUSTONE4.LIST_MT PARTITION(P2)
     WHERE SYSFUNCTIONID = 2
      AND COMMITTIME < TRUNC(TO_DATE('20090301', 'yyyymmdd'))
      AND COMMITTIME >=
        TO_DATE(TO_CHAR(TO_DATE('20090301', 'yyyymmdd') - 1, 'yyyymm') || '01',
            'yyyymmdd')
     GROUP BY MESSAGE_ID, SYSMESSAGETYPE) A,
    (SELECT L.ORGID SCHOOLID,
        L.ORGNAME,
        D.ORGNAME CITYNAME,
        A.ORGNAME AGENTNAME
     FROM JUSTONE4.ORGDETAIL_SCHOOL L,
        JUSTONE4.ORGDETAIL_CITY D,
        JUSTONE4.ORGDETAIL_AGENTL1 A
     WHERE L.CITYID = D.ORGID
      AND L.AGENTL1ID = A.ORGID
      AND L.CITYID = 20) B
 WHERE A.RECEIVER_SCHOOLID = B.SCHOOLID
 ORDER BY B.AGENTNAME, B.CITYNAME, B.ORGNAME