Optimizacion de Consulta.

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • funkeeiads
    Member
    • mar
    • 47

    #1

    Optimizacion de Consulta.

    Hola abapers.
    Tengo un problema de rendimiento.
    No se como optimizar mas mi consulta.. Se demora demasiado.

    Código:
    SELECT fal~einri fal~falnr fal~falar fal~patnr fal~abrkz fal~erdat fal~erusr fal~updat fal~upusr fal~storn fal~stdat fal~fatyp
           bew~bewty bew~bwart bew~bwidt bew~orgfa bew~orgpf bew~bwgr1 bew~bwgr2
           cir~lfdnr cir~kostr cir~patkz cir~rangf
       INTO CORRESPONDING FIELDS OF TABLE ti_nfall
       FROM nfal AS fal
       INNER JOIN nbew AS bew
       ON fal~falnr = bew~falnr
       INNER JOIN ncir AS cir
       ON bew~falnr = cir~falnr
       WHERE fal~einri IN p_einri AND
             fal~falnr IN p_falnr AND
             fal~erdat IN p_erdat AND
             fal~storn IN p_storn
             %_HINTS ORACLE 'INDEX("NFAL" "NFAL~Z2")'.
          IF sy-subrc <> 0.
               MESSAGE 'No se han encontrado datos en la consulta' TYPE 'E'.
          ELSE.
              SELECT falnr orgid leist anfoe erboe preis abrkz stals imeng taras anpoe
                INTO CORRESPONDING FIELDS OF TABLE ti_nlei
                FROM nlei
                FOR ALL ENTRIES IN ti_nfall
                WHERE falnr = ti_nfall-falnr
                %_HINTS ORACLE 'INDEX("NLEI" "NLEI~Z2")'. 
               ENDIF.
    Las consultas a las tablas son:
    nfal tiene 1 registro
    nbew tiene 1 registro
    ncir y nlea pueden tener mas de 1.

    Hice hasta indices y campos obligatorios para acotar mas la consulta.
    Saludos
  • 'or'1'='1

    #2
    si necesitas un solo campo de esa consulta puedes utilizar un select single.

    Comentario

    Trabajando...