MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   performance (foro/showthread.php?t=29466)

Richysap 14/04/09 19:47:49

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 14/04/09 20:33:26

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 :D

javibest 15/04/09 10:52:45


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.

Floren 15/04/09 14:01:49

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

javibest 15/04/09 15:49:11

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.

andyoscky 17/04/09 20:54:30

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

DavidXD_XD 17/04/09 21:43:26

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

zonanet 17/04/09 23:39:21

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.

DavidXD_XD 13/05/09 16:26:41

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 ... :D


Husos Horarios son GMT. La hora en este momento es 17:43:07.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web