Ver Mensaje Individual
  #1  
Viejo 25/10/12, 20:18:32
K-MUS K-MUS is offline
Member
 
Fecha de Ingreso: feb 2006
Localización: Capital Federal
Mensajes: 87
Es muy extenso el tema pero bueno, te paso una lista de cosas a chequear.

- Eliminar y reemplazar cualquier SELECT - ENDSELECT que haya.

- Quitar Select dentro de LOOPS. Si tenes Selects dentro de loops, ponelos afuera y dentro del loop accede con READ TABLE o LOOP a la tabla interna.

- Evitar Select que tengan muchos INNER JOIN. Usar varios selects separados con FOR ALL ENTRIES.

- Tratar de ingresar por campos claves y/o índices disponibles.

- Evitar el SELECT *

- Si utilizas la BSEG, la misma es una tabla CLUSTER reemplaza la búsqueda con las tablas BSID, BSIK, BSIS, BSAS, BSAD y BSAK.

- Evitar Select a tablas que tardan mucho, tratando de encontrar otras lógicas de búsqueda.

- En el caso que tengas LOOP Anidados con muchos registros, como por ejemplo:

Es mucho más performante utilizar la técnica de "Cursor Paralelo". Donde primero averiguas cual es el índice y accedes por índice.

Más info:


Saludos

Úlima edición por K-MUS fecha: 25/10/12 a las 20:20:34.
Responder Con Cita