09/02/2011, 10:16
|
| | Fecha de Ingreso: febrero-2011 Ubicación: Peru-Lima-Chorrillos
Mensajes: 19
Antigüedad: 13 años, 10 meses Puntos: 0 | |
Respuesta: Mejorar Performance de Procedimiento Almacenado Estimado Flavio:
Que tal maestro, tengo un procedimiento almacenado donde te explico la siguiente estructura: Cita: --Llena la tabla temporal según los paramentro de periodo y mes
Select
CodigoUnidadNegocio,
DescripcionUnidadNegocio,
CodigoMateriaPrima,
DescripcionMateriaPrima,
Unidad_Medida,
Pronostico,
Fecha_Explosion,
Stock_Total,
Stock_Transito,
Dias_Objetivo,
CodigoProveedor,
DescripcionProveedor,
PaisDelProveedor
Into
#tmpSeguimiento
From
Datamartbo.dbo.CI_SEGUIMIENTO_INSUMOS
Where
Year(Fecha_Explosion) = @Periodo And
Month(Fecha_Explosion) = @Mes
--Estructura de la Tabla Temporal
Declare @temp Table
(
PlanCompraID int,
Periodo int,
Mes int,
CodigoMateriaPrima varchar(20),
DescripcionMateriaPrima varchar(201),
UnidadMedida varchar(6),
PronosticoActual numeric(15,8),
ConsumoPromedioMensual numeric(15,8),
Duracion int,
SafetyStock numeric(15,8),
StockDisponible numeric(15,8),
StockTotal numeric(15,8),
StockTransito numeric(15,8),
DiasObjetivo int,
Decision varchar(10),
Cantidad int,
PaisProveedor char(3),
FlgEst bit
)
DECLARE Cur_Articulo CURSOR FAST_FORWARD
FOR
Select CodigoMateriaPrima,DescripcionMateriaPrima,Unidad_ Medida,Pronostico,CodigoProveedor,Stock_Total,Stoc k_Transito,Dias_Objetivo,PaisDelProveedor
From
#TmpSeguimiento
Open Cur_Articulo
Fetch Next From Cur_Articulo
Into @CodigoMateriaPrima,@DescripcionMateriaPrima,@Unid ad_Medida,@Pronostico,@CodigoProveedor,@Stock_Tota l,@Stock_Transito,@Dias_Objetivo,@PaisDelProveedor
While @@FETCH_STATUS = 0
Begin
Fetch Next From Cur_Articulo
Into @CodigoMateriaPrima,@DescripcionMateriaPrima,@Unid ad_Medida,@Pronostico,@CodigoProveedor,@Stock_Tota l,@Stock_Transito,@Dias_Objetivo,@PaisDelProveedor
End
Close Cur_Articulo
Deallocate Cur_Articulo Todo este proceso dura como 20 minutos, porque realiza calculos.
La idea es bajarlo a la mitad.
Saludos cordiales,
Ronald León Madrid |