performance

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Richysap
    Junior Member
    • jul
    • 13

    #1

    performance

    Buenas tardes foro:
    Tengo una consulta, que es mucho mejor usar para el tema de fperformance una tabla hashed o una tabla sorted tengo esa duda.
    Gracias
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, el uso y eficiencia de esos tipos de tablas interna dependera de que es lo que quieras hacer ... normalmente para varias consultas a la tabla interna es mejor una tabla SORTED pero para una individual es mejor una HASHED, como te dije depende mucho de lo quieras realizar, si nos cuentas un poco mas tal vez le demos en el clavo entre todos
    David Carballido Córdova

    Comentario

    • javibest
      Senior Member
      • ene
      • 185

      #3
      Originalmente publicado por DavidXD_XD
      Hola, el uso y eficiencia de esos tipos de tablas interna dependera de que es lo que quieras hacer ... normalmente para varias consultas a la tabla interna es mejor una tabla SORTED pero para una individual es mejor una HASHED, como te dije depende mucho de lo quieras realizar, si nos cuentas un poco mas tal vez le demos en el clavo entre todos
      Discrepo ligeramente en tu opinion.

      Como bien dices, depende de lo que quiera hacer , pero las tablas hashed son las tablas de acceso mas rapido que existe, ya que su complejidad media es O(1), es decir, que en condiciones normales, solo recorrerá 1 elemento para seleccionar el dato buscado.

      Las tablas sorted utiliza la busqueda binaria, por lo que de media la complejidad es O(log n) , es decir, que para 1024 registros, necesitaria realizar 10 accesos.

      Comentario

      • Floren
        Senior Member
        • abr
        • 209

        #4
        Algo más de información

        Hola,

        La búsqueda binaria sólo es posible si previamente se ha ordenado la tabla interna. Ésta ordenación tiene una cota de complejidad O(n*log n) (algoritmo quicksort)

        Un saludo
        Florentín Navarrete Moya
        SAP HCM Consultant
        Mail: administracion@blogdefloren.com
        Blog: www.blogdefloren.com

        Comentario

        • javibest
          Senior Member
          • ene
          • 185

          #5
          Se presupone que la inserccion ha de ser ordenada. no seria logico ordenar la tabla cada vez que hagas una busqueda. Lo logico es ordenar en la inserccion/borrado/modificacion.

          En una sorted la inserccion se ralentiza por este motivo.Por ello debe ser utilizada cuando el numero de busquedas son mucho mayores que el numero de insercciones.

          Comentario

          • andyoscky
            Miembro Honorario
            • mar
            • 73

            #6
            Lo mejor st05

            Analiza la performance con la st05 y probalo ahi te vas a dar cuenta siempre hay formas de tocar y mejorar

            Comentario

            • DavidXD_XD
              Moderator
              • ago
              • 1255

              #7
              En efecto, estaba haciendo unas pruebas y las tablas HASHED son mas efectivas, me parece un buen tema de discusion, si las tablas HASHED son muy buenas, para que se inventaron las tablas SORTED??, sry x la burrada del primer post, y algo mas solo como comentario creo q la ST05 no entra a tallar una medicion de performance a nivel ABAP, es a nivel de BD
              David Carballido Córdova

              Comentario

              • zonanet
                Senior Member
                • mar
                • 195

                #8
                El factor para usar las tablas hashed es que se usa una llave primaria única y la tabla tiene que ser demasiado extensa. Las tablas Hashed toman el mismo tiempo en buscar 1 registro en una tabla de 100,000,000 registros que en una de 1 solo registro, por ende en ocasiones es mejor utilizar las sorted cuando son tablas relativamente pequeñas.


                Saludos.

                Comentario

                • DavidXD_XD
                  Moderator
                  • ago
                  • 1255

                  #9
                  Hola, encontre algo muy interesante acerca del rendimiento de las tablas HASHED y SORTED, es claro que las tablas HASHED son mejores pero cuando la lectura es para un solo registro (READ TABLE), pero para lectura secuencial (LOOP) es mejor las tablas SORTED, ver para creer ^^, entrar

                  SE80->Entorno->Ejemplos->Ejemplos de Rendimientos

                  Y ver la seccion: Internal Tables->Sorted and Hashed Tables

                  Espero sus comentarios ...
                  David Carballido Córdova

                  Comentario

                  Trabajando...