TEMA : Query lenta - Foro de Tu Informática Fácil

TEMA : Query lenta

Query lenta 15 May 2013, 12:51 #132

  • mariomario89
  • Avatar de mariomario89
  • DESCONECTADO
  • Karma:

Muy buenas! tengo un problema con unas consultas que al ejecutarlas tarda bastante en mostrar el resultado . Algunas de esas columnas tienen sus indices asignados. Pruebo a hacer la consulta de tres modos diferentes pero funciona de igual lentitud.

 

select "msisdn", "status", "optin_date", "optout_date", (trunc("optout_date")-trunc("optin_date")) as "life" from "subscriber" where "status" = 0

union all

select "msisdn", "status", "optin_date", "optout_date", (trunc(sysdate)-trunc("optin_date")) as "life" from "subscriber" where "status" = 1;

 

select "msisdn", "status", "optin_date", "optout_date", case "status" when 0 then (trunc("optout_date")-trunc("optin_date")) when 1 then (trunc(sysdate)-trunc("optin_date")) end as "life" from "subscriber";

 

select "msisdn", "status", "optin_date", "optout_date", decode ("status", 0 , (trunc("optout_date")-trunc("optin_date")) , 1 , (trunc(sysdate)-trunc("optin_date")) ) as "life" from "subscriber";

 

esta es la tabla (subscriber):

SQL> desc "subscriber" ;

Name ---------------------------------------------------------------------------------------------------------------------------

id NOT NULL NUMBER(11)

id_user NOT NULL NUMBER(11)

id_service NOT NULL NUMBER(11)

msisdn NOT NULL NUMBER(20)

nextbill NOT NULL DATE

credits NOT NULL NUMBER(11)

failed_trys NOT NULL NUMBER(11)

last_attempt DATE

status NOT NULL NUMBER(4)

optin_date NOT NULL DATE

optout_date DATE

id_source NOT NULL NUMBER(11)

id_campaign NOT NULL NUMBER(20)

id_campaign_detail_promo_sms NOT NULL NUMBER(20)

id_method NOT NULL NUMBER(11)

 

alguien que pueda dar algún consejo de optimizacion ??

 

gracias!!

Re: Query lenta 17 May 2013, 11:36 #135

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

Buenas, Oracle proporciona una herramienta para obtener el plan de ejecución (Explain plan) de cualquier Query y así poder mejorar el rendimiento de las mismas. Para poder generar el plan de ejecución tienes que realizar una serie de tareas que puedes ver en el siguiente artículo,

 

https://www.tuinformaticafacil.com/bases-de-datos/oracle/uso-de-explain-plan-en-oracle-10g

 

Una vez qua hayas obtenido el plan de ejecución de alguna de las querys que te dan problemas postealo, lo reviso y te comente como interpretarlo y la mejoras que se pueden hacer.

 

Saludos.

Conectados

Total de usuarios conectados 359 :: 0 Miembro(s) y 359 invitado(s).
Leyenda:  Administrador del Sitio Moderador Global Moderador Sancionado Usuario Invitado

Estadísticas

Total de mensajes : 379 | Total temas : 145 | Total miembros : 37533
Nuestro nuevo miembro : coro1959
JDL Forum