Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2016, 11:39
eduar2083
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
Consulta a tabla particionada

Buenas con tod@s,
Sucede que tengo una tabla particionada por rango, las particiones son generadas diariamente tomando como índice de partición una columna llamada S_TIMESTAMP de tipo Date y tengo la siguiente consulta:
Código SQL:
Ver original
  1. SELECT
  2.     COL_A,
  3.     COL_B,
  4.     COL_C,
  5.     S_TIMESTAMP
  6. FROM DM.CDR_GPRS PARTITION(P_20140618)
  7. WHERE
  8.     S_TIMESTAMP > TO_DATE('20140616205959', 'YYYYMMDDHH24MISS')
  9. UNION
  10. SELECT
  11.     COL_A,
  12.     COL_B,
  13.     COL_C,
  14.     S_TIMESTAMP
  15. FROM DM.CDR_GPRS PARTITION(P_20140619      )
  16. UNION
  17. SELECT
  18.     COL_A,
  19.     COL_B,
  20.     COL_C,
  21.     S_TIMESTAMP
  22. FROM DM.CDR_GPRS PARTITION(P_20140620      )
  23. UNION
  24. SELECT
  25.     COL_A,
  26.     COL_B,
  27.     COL_C,
  28.     S_TIMESTAMP
  29. FROM DM.CDR_GPRS PARTITION(P_20140621      )
  30. UNION
  31. SELECT
  32.     COL_A,
  33.     COL_B,
  34.     COL_C,
  35.     S_TIMESTAMP
  36. FROM DM.CDR_GPRS PARTITION(P_20140622)
  37. WHERE
  38.     S_TIMESTAMP <= TO_DATE('20140620205959', 'YYYYMMDDHH24MISS');
Pero al analizar el plan de ejecución me arroja varios Table Access Full.

https://www.dropbox.com/sh/2ha2zqfr8...#f:print01.png

Para el primer select me toma correctamente el índice creado (IDX_GPRS_S_TIMESTAMP) no hay Table Access Full. Para los selects del centro que no tienen where pienso que se debe porque se hace un barrido de toda la partición, sin embargo, me extraña el último select que es muy similar al primero ya que filtra por el campo S_TIMESTAMP que está indizado.

Por favor si me pudieran orientar para optimizar está consulta.

Muchas gracias, saludos.