Anuncio

Colapsar
No hay anuncio todavía.

Mejora de rendimiento

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

  • Mejora de rendimiento

    Hola Tengo un select que tarda demasiado. ¿Se os ocurre como mejorar el rendimiento?

    Código:
      SELECT mseg~mblnr mseg~zeile mkpf~mjahr mkpf~xblnr mkpf~bldat mkpf~budat mseg~matnr mseg~lifnr mseg~ebeln mseg~dmbtr
      INTO CORRESPONDING FIELDS OF TABLE it_alv
      FROM mkpf INNER JOIN mseg ON mkpf~mblnr = mseg~mblnr
      WHERE mkpf~bldat IN fecha
        AND ( mkpf~blart = 'WE' OR mkpf~blart = 'WA' )
        AND mseg~matnr IN mat
        AND mseg~lifnr IN prov
        AND mseg~ebeln IN ped
        AND mseg~bukrs IN soc
    *    AND mseg~lifnr <> 'A3100'
        AND ( mseg~bwart = '101' OR mseg~bwart = '102' ).
    La mkpf tiene un índice con bldat y blart y la mseg tiene otro índice con matnr (y otros campos que no utilizo)

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

  • #2
    Ya he mejorado el rendimiento.

    En el inner join he ligado mseg y makpf también por mjhar, he eliminado ebeln del select ya que no se utiliza mucho y elimino despues de la TI los resultados que no me interesan.
    Tambien he puesto los valores de bwart y blart en rangos y la mejora se nota bastante.

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

    Comentario


    • #3
      Hola Bisonye,

      la tabla interna it_alv tiene solo los campos que le estás insertando? porque si es así te conviene hacer un into table en cambio de un into corresponding.

      Espero haberte ayudado.

      Saludos!

      Comentario


      • #4
        Originalmente publicado por koken Ver Mensaje
        Hola Bisonye,

        la tabla interna it_alv tiene solo los campos que le estás insertando? porque si es así te conviene hacer un into table en cambio de un into corresponding.

        Espero haberte ayudado.

        Saludos!
        Hola Koken,

        Primero gracias por responder.
        La tabla tiene más campos, aunque siempre puedo ordenarlos de la misma forma en la que recupero los datos de las tablas transparentes.
        Las pruebas que he hecho con lo que comentas (no en este caso, con reports anteriores) la diferencia entre into y corresponding es mínima.
        Aún así probaré a ver si mejora.

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

        Comentario

        Trabajando...
        X