MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 02/09/09, 10:08:26
Avatar de Driau
Driau Driau is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 235
Wink Gracias por tan rápida respuesta!

He estado leyendo y releyendo tu post. estoy de acuerdo en todo ya que seguro que me ayuda a mejorar la velocidad de respuesta del programa. Pero como te comento, lo mas raro es la variabilidad en el tiempo de respuesta para una misma búsqueda así que me he fijado especialmente en el punto en que me comentas esto:

"pero como te comento Ademas el planificador de BBDD puede determinar un camino de seleccion distinto cada vez, unas veces te va por un indice y va mas rapido, otras por otro y va mas lento, etc.."

Me podrías detallar o profundizar un poco mas en esto del planficiador??? Creo que puede ser interesante y podría explicar estas variaciones de retardo.

Gracias nuevamente
Responder Con Cita
  #2  
Viejo 02/09/09, 14:17:35
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Bueno lo primero es destacar que los planificadores de BBDD son herramientas muy complejas asi que intentare hacer un pequeño resumen y me tomare algunas "licencias"

Basicamente el planificador de BBDD lo que hace es analizar la sentencia SQL en base a una serie de parametros

-Datos estadisticos -> Cada cierto tiempo se pueden elaborar estadisticas de la BBDD y si por ejemplo sabemos que en una tabla hay muy pocas entradas que empiecen por Z y realizaramos un select buscando que ese campo empiece por Z el planificador podria obviar la seleccion por la clave principal y determinar la seleccion por otro indice o incluso un full scan de la tabla porque por medio de las estadisticas "sabe" que va a recuperar muy pocas entradas y le puede compensar

-Datos inherentes a la BBDD -> Si tu BBDD tiene definido un indice por campo1 campo2 y campo3 y tu haces
select ..
into..
from..
where campo1 = ...
and campo2 = ..
and campo3 = ..

El planificador veria que hay un indice que contiene todos los campos por los que quieres seleccionar y PROBABLEMENTE determinaria la seleccion por dicho indice

Digo probablemente porque los algoritmos de planificacion de BBDD son bastante complicados y afectan un monton de variables, como puede ser la carga de trabajo que esta soportando la maquina, el numero de personas que haya accediendo en paralelo y una multitud de condicionantes mas

Es por eso que una misma sentencia select la ejecutas una vez y hace la seleccion por un camino y la ejecutas inmediatamente despues y existe una posibilidad de que el planificador determine otro camino por alguna razon de las antes expuestas

En SAP disponemos de la transaccion ST05 que sirve para hacer trazas SQL, puedes activar la traza SQL, luego realizar una operacion cualquiera (ejecutar un listado, llamar a un report, crear un pedido o lo que sea) luego vuelves a la ST05, desactivas la traza y visualizas el resultado

Observaras que te aparecen todas las sentencias SQL que se han realizado para lo que hubieras ejecutado, si pinchas en el explain observaras que te dara informacion mas exhaustiva de la operacion SQL, te dira a traves de que indice se ha realizado el select, el coste que ha tenido, etc

Para saber el retardo variable lo que yo miraria son dos cosas, realizaria varias trazas del mismo proceso para ver si unas veces pasa por un indice y otras por otro y tambien me fijaria en la transaccion SM50 en la carga de trabajo que esta soportando la maquina en el momento del lanzamiento del programa, quiza por ahi puedas ver algo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 07:26:27.


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