Anuncio

Colapsar
No hay anuncio todavía.

Consulta con Inner Join

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Consulta con Inner Join

    Saludos amigos de este foro, la consulta que muestro a continuación les agradeceria mucho de como mejorarla.

    SELECT a~aufnr a~gltrp a~gstrp a~gamng a~gmein a~plnbez a~rsnum b~aufpl b~aplzl b~vornr b~arbid b~lar01 b~lar02 b~lar03 b~lar04 b~lar05 b~lar06 c~arbpl c~werks
    INTO TABLE ti_afvc
    FROM afko AS a INNER JOIN afvc AS b
    ON a~aufpl EQ b~aufpl
    INNER JOIN crhd AS c
    ON b~arbid EQ c~objid
    AND c~objty EQ 'A'
    FOR ALL ENTRIES IN ti_aufm2
    WHERE a~aufnr EQ ti_aufm2-aufnr
    AND plnbez IN s_matnr.

    De igual manera esta...

    SELECT * APPENDING CORRESPONDING FIELDS OF TABLE ti_resb
    FROM resb FOR ALL ENTRIES IN ti_aufm2
    WHERE aufnr EQ ti_aufm2-aufnr.

    Es muy urgente expertos, a la espera de sus prontas respuesta me despido... gracias

  • #2
    Lo primero que tienes que chequear es si estás filtrando por las claves y los índices que tienen cada una de esas tablas.

    El FOR ALL ENTRIES no siempre es lo más performante.

    Estos post también pueden ayudarte:

    Performance en ABAP
    Transacción SLIN
    Performance

    Espero que te sea de utilidad.

    Comentario


    • #3
      Consulta inner join

      Gracias por responder, segui lo que me indicaste, pero aun no se consigue optimizar el reporte, hay otra forma de hacerlo, te agradeceria bastante me des un ejemplo

      Saludos

      Comentario


      • #4
        Originalmente publicado por brujop Ver Mensaje
        Gracias por responder, segui lo que me indicaste, pero aun no se consigue optimizar el reporte, hay otra forma de hacerlo, te agradeceria bastante me des un ejemplo

        Saludos
        Dios mío , estás creando un monstruo. Esa consulta nunca puede ser eficiente. Tres inner joins con un for all entries es arriesgarse a que el sistema reviente por algún sitio. Es como echar un mentos en la cocacola

        Yo intentaría separar en dos o trs querys y luego hacer un loop a la tabla resultante filtrando resultados. No conozco las tablas en profundidad pero, como dice koken, debrías buscar índices en las tablas para que fuesen más rápido.

        Un ejemplo concreto es imposible ya que depende de los ínidces de las tablas la base de datos....

        Saludos.
        "Soy el señor Lobo, arreglo problemas"
        http://sapymas.blogspot.com/

        Comentario


        • #5
          Consulta con inner join

          Gracias por la atencion bisonye, seguire tus recomendaciones...

          Buen día

          Comentario

          Trabajando...
          X