DB2 - Optimizar una consulta

 
Vista:

Optimizar una consulta

Publicado por Omar Marcelo (2 intervenciones) el 15/04/2015 06:00:47
Hola

Tengo problemas con la ejecución de una consulta. tengo una tabla (millones de registros) la cual tiene 4 campos numericos para representar la fecha (anio (4), mes(2), dia (2), tiempo (6) ); como utilizo esos campos para realizar busquedas por fechas, me interesa saber cual es la ultima fecha que hay en mi tabla. Para ello estoy realizando la siguiente consulta:

SELECT MAX(ANIO*10000000000 + MES*100000000 + DIA*1000000 + TIEMPO) FROM "TABLA";

Pero el detalle es que lo dejo ejecutando como 8min y no resuelve.
Alguna sugerencia para optimizarlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Juan Arturo Gomez

Optimizar una consulta

Publicado por Juan Arturo Gomez (2 intervenciones) el 14/05/2015 00:47:31
Para optimizarlo debieras tener un INDICE (conocido como archivo "logico" en el ambiente iSeries/db2) por el campo que estas accesando. De esa manera la consulta se ejecutara mucho mas rapido, para crear el indice, ya sea que tengas acceso al administrador del DB2 o bien que quien este a cargo de dicha tabla te genere el indice con el comando CREATE INDEX (creo q asi es)

NO NECESITAS hacer conversion a campo numerico, si los campos de mes y dia tienen ceros a la izquierda, solo con concatenarlos te lo debe ordenar corrctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar