OPTIMIZACION Y SEGUIMIENTO HOJA DE RUTA!!!!

La primera consulta optimizada tomando el año mas antiguo:

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

Se utilizó la instrucción sql "between" en las fechas para reemplazar los operadores lógicos ">=" "<=".

Ojo!!!! Revisar índices, puede ayudar a optimizar mas.

explain analyze select nov_id, nov_tipo, nov_subtipo, nov_consecutivo, usuario_nombres, cliente_nombre, nov_fecha_entrega_prod, nov_fecha_fin_pauta, nov_fecha_ini_pauta FROM novedades, usuarios, clientes where novedades.usuario_id=usuarios.usuario_id and novedades.cliente_id=clientes.cliente_id and nov_estado=1 and nov_aprobacion=1 and nov_anulada<>1 and nov_subtipo<>4 and nov_subtipo<>8 and nov_fecha between '2006-07-30' and '2008-07-30';

#########################################################################################################

(PAUTA):

Primera consulta: Para traer todo el detalle de pauta

Original:

explain analyze select * from detalle_pauta,aforo,productos,locaciones,ciudades,elementos,elements where detalle_pauta.aforo_id=aforo.aforo_id and aforo.loc_id=locaciones.loc_id and aforo.producto_id=productos.producto_id and productos.producto_id=locaciones.producto_id and locaciones.ciudad_id=ciudades.ciudad_id and aforo.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and detalle_pauta.nov_id=2682

Optimizada:

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

Ojo!!!! Revisar índices, puede ayudar a optimizar mas.

explain analyze select d_pauta_id,detalle_pauta.aforo_id,ciudad_nombre,producto_nombre,elemento_nombre,ele_area_i_b,ele_area_i_h,ele_area_v_b,ele_area_v_h,referencia_arte,fecha_entrega,observa1,observa3,fecha_recepcion,fecha_programada from detalle_pauta,aforo,productos,locaciones,ciudades,elementos,elements where detalle_pauta.aforo_id=aforo.aforo_id and aforo.loc_id=locaciones.loc_id and aforo.producto_id=productos.producto_id and productos.producto_id=locaciones.producto_id and locaciones.ciudad_id=ciudades.ciudad_id and aforo.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and detalle_pauta.nov_id=2682

Segunda consulta: Para treaer las ordenes de trabajo de los detalles si es que hay

Original:

explain analyze select a.*, b.* from ordenes a, detalle_ot b where a.ord_id=b.ord_id and a.nov_id=2715 and a.ord_estado=1 and a.ord_anulada<>1 and b.d_pauta_id=3030;

Optimizada:

Ojo!!!! Revisar índices, puede ayudar a optimizar mas.

explain analyze select ord_consecutivo,d_ot_id,ordenes.ord_id from ordenes, detalle_ot where ordenes.ord_id=detalle_ot.ord_id and ordenes.nov_id=2715 and ordenes.ord_estado=1 and ordenes.ord_anulada<>1 and detalle_ot.d_pauta_id=3030;

Tercera consulta: Para saber si hay fotos subidas

Original:

explain analyze select * from detalle_foto where d_ot_id=291;

Optimizada:

Ojo!!!! Revisar índices, puede ayudar a optimizar mas.

explain analyze select ord_img_name from detalle_foto where d_ot_id=291;

#########################################################################################################

(PRODUCCION):

Primera consulta: Para traer todo el detalle de producción

Original:

explain analyze select a.*,ciudades.*,elements.*,elementos.*, b.nov_id, b.prueba_color from detalle_prod a, footer_prod b,ciudades,elements,elementos where a.nov_id=b.nov_id and a.nov_id=4571 and a.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and a.ciudad_id=ciudades.ciudad_id and a.d_realizado<>1;

Optimizada:

Se crearon tres índices de búsqueda en "detalle_prod" id_detalle_prod, nov_id_detalle_prod, realizado_detalle_prod.

Se creó un índice de búsqueda en "footer_prod" no_id_footer.

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

explain analyze select d_pauta_id, d_prod_id, ciudad_nombre, elemento_nombre, ele_area_i_b, ele_area_i_h, ele_area_v_b, ele_area_v_h, referencia_arte, fecha_recepcion, prueba_color, fecha_aprobacion_color, fecha_programada, fecha_entrega from detalle_prod, footer_prod,ciudades,elements,elementos where detalle_prod.nov_id=footer_prod.nov_id and detalle_prod.nov_id=4571 and detalle_prod.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and detalle_prod.ciudad_id=ciudades.ciudad_id and detalle_prod.d_realizado<>1;

Segunda consulta: Para traer el consecutivo de la orden de producción

Original:

explain analyze select a.*, b.* from ordenes a, detalle_op b where a.ord_id=b.ord_id and a.nov_id=4571 and a.ord_anulada<>1 and a.ord_estado=1 and b.d_prod_id=4678;

Optimizada:

Se creó un índice de búsqueda en "detalle_op" detalle_prod_op.

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

explain analyze select ord_consecutivo from ordenes a, detalle_op b where a.ord_id=b.ord_id and a.nov_id=4571 and a.ord_anulada<>1 and a.ord_estado=1 and b.d_prod_id=4678;

#########################################################################################################

(PAUTA - PRODUCCION):

Primera consulta: Para traer todo el detalle de pauta-producción

Original:

explain analyze select distinct(b.nov_id),detalle_pauta.*,a.*,elements.*,locaciones.*,elementos.*,ciudades.*,productos.*,b.nov_id, b.prueba_color from detalle_prod a,footer_prod b,detalle_pauta,aforo,locaciones,ciudades,elementos,elements,productos where a.d_pauta_id=detalle_pauta.d_pauta_id and a.nov_id=b.nov_id and a.nov_id=4571 and a.d_realizado<>1 and detalle_pauta.aforo_id=aforo.aforo_id and aforo.loc_id=locaciones.loc_id and locaciones.ciudad_id=ciudades.ciudad_id and aforo.producto_id=productos.producto_id and productos.producto_id=locaciones.producto_id and aforo.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and a.ele_id=elements.ele_id;

Optimizada:

Se crearon 5 índices de búsqueda en "detalle_prod": id_detalle_prod, nov_id_detalle_prod, realizado_detalle_prod, elemento_prod, ciudad_prod.

Se creó un índice de búsqueda en "footer_prod": no_id_footer.

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

explain analyze select distinct(b.nov_id), d_prod_id, aforo.aforo_id, ciudad_nombre, producto_nombre, elemento_nombre, ele_area_i_b, ele_area_i_h, ele_area_v_b, ele_area_v_h, a.referencia_arte, observa1, a.d_pauta_id, a.fecha_recepcion, prueba_color, fecha_aprobacion_color, a.fecha_programada, a.fecha_entrega, observa2 from footer_prod b, detalle_pauta, detalle_prod a, aforo,locaciones,ciudades,elementos,elements,productos where a.d_pauta_id=detalle_pauta.d_pauta_id and a.nov_id=b.nov_id and a.nov_id=4571 and a.d_realizado<>1 and detalle_pauta.aforo_id=aforo.aforo_id and aforo.loc_id=locaciones.loc_id and locaciones.ciudad_id=ciudades.ciudad_id and aforo.producto_id=productos.producto_id and productos.producto_id=locaciones.producto_id and aforo.ele_id=elements.ele_id and elementos.elemento_id=elements.elemento_id and a.ele_id=elements.ele_id;

Segunda consulta: Para traer las ordenes de produccion

Original:

explain analyze select a.*, b.* from ordenes a, detalle_op b where a.ord_id=b.ord_id and a.nov_id=4571 and a.ord_estado=1 and a.ord_tipo=2 and a.ord_anulada<>1 and b.d_prod_id=4600;

Optimizada:

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

explain analyze select ord_consecutivo from ordenes a, detalle_op b where a.ord_id=b.ord_id and a.nov_id=4571 and a.ord_estado=1 and a.ord_tipo=2 and a.ord_anulada<>1 and b.d_prod_id=4600;

Tercera consulta: Para traer los datelles de pauta

Original:

explain analyze select * from detalle_pauta where d_pauta_id=14959

Optimizada:

Se quitó el comodín *(asterisco) y se dejaron solo los campos que se necesitan en la consulta.

explain analyze select fecha_recepcion, d_pauta_id, fecha_programada, fecha_entrega, observa3 from detalle_pauta where d_pauta_id=14959;