Ver Mensaje Individual
  #12  
Viejo 25/09/06, 13:01:18
Avatar de Jotabin
Jotabin Jotabin is offline
Senior Member
 
Fecha de Ingreso: may 2006
Localización: Buenos Aires
Mensajes: 117
A ver... Supongo que sabés que toda tabla del diccionario ABAP tiene campos clave, ¿cierto?

El motivo principal para que exista esta "propiedad" de los campos que diferencia a los clave de los no clave, es la creación de un índice para los campos clave de la tabla.

¿Que qué es un índice? Es una especie de tablita, mucho más pequeña que la tabla a la cual "indexa", que contiene únicamente los campos clave de la tabla indexada y, por cada clave, un puntero que indica la posición del registro que corresponde a esa clave dentro de la tabla indexada.

O sea que termina siendo algo muy parecido al índice en un libro. Si uno quiere encontrar dónde empieza un determinado capítulo en un libro, es mucho más fácil ir al índice y fijarse el número de página que ir mirando una a una las páginas desde el principio.

Bueno, para la computadora es igual. Si tiene que recorrer la tabla registro a registro para encontrar el valor buscado, el trabajo realizado será mucho mayor que si hace una búsqueda binaria sobre el índice, y desde ahí accede directamente al registro buscado gracias al puntero que le indica dónde está almacenado.

Entonces, cuando un programa recupera datos de una tabla acotando la búsqueda a ciertos valores, la recuperación de datos será muchísimo más veloz si los campos por los que se acota la búsqueda son los campos clave de la tabla, ya que le permitiremos al sistema utilizar el índice creado.

Ahora, resulta que SAP, como toda base de datos decente, te permite crear también otros índices para la tabla aparte del índice principal, el de la clave. De esta manera, uno puede elegir los campos que se le ocurran (sean clave o no) y SAP solito se encarga de indexar la tabla según esos campos, es decir que crea una tablita ordenada por los campos indicados con referencias a la posición de cada registro dentro de la tabla principal. De esta manera, se pueden lograr velocidades de acceso similares a las que se consiguen accediendo por la clave principal de la tabla.

Espero que se haya entendido.
__________________
resistance is futile
Responder Con Cita