PDA

Ver la Versión Completa : Como hacer mas performante un SELECT SINGLE *


gera83
27/04/07, 19:57:41
Hola
Tengo el siguiente SELECT, el cual es antiperformante a full. Me recomendaron crear un indice. Que campos debo poner en ese indice? Los del WHERE?

SELECT SINGLE * FROM *zdwbuaf
WHERE afeid = l_mc_afe-pspnr
AND budgid IN lr_budget.

Otra: Noté en ese pgm que hay uchas tablas declaradas como *tabla. Que quiere decir el * de adelante?

Muchas gracias

Pinillex
30/04/07, 15:39:45
Toda tabla tiene un indice primario que corresponde a su clave y es por ese indice que debes hacer el SELECT.
Tu sentencia WHERE siempre debe coincidir el orden de los campos con uno de los indices y si no, debes evaluar crear un indice con ese orden, esa evaluacion la debe hacer el administrador de la BD, ya que un indice mas es mas "costoso" para el rendimiento de la maquina.

Lo del * se refiere a un ALIAS, esto es para definir 2 veces una misma tabla, ejemplo:

Tables: EKKO, *EKKO.

Esto te permite acceder esta tabla por 2 punteros distintos (se entiende)

Saludos