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

He agregado hints INDEX para forzar el uso del índice:
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 /*+ INDEX(B IDX_GPRS_S_TIMESTAMP) */
  11.     COL_A,
  12.     COL_B,
  13.     COL_C,
  14.     S_TIMESTAMP
  15. FROM DM.CDR_GPRS PARTITION(P_20140619      ) B
  16. UNION
  17. SELECT /*+ INDEX(C IDX_GPRS_S_TIMESTAMP) */
  18.     COL_A,
  19.     COL_B,
  20.     COL_C,
  21.     S_TIMESTAMP
  22. FROM DM.CDR_GPRS PARTITION(P_20140620      ) C
  23. UNION
  24. SELECT /*+ INDEX(D IDX_GPRS_S_TIMESTAMP) */
  25.     COL_A,
  26.     COL_B,
  27.     COL_C,
  28.     S_TIMESTAMP
  29. FROM DM.CDR_GPRS PARTITION(P_20140621      ) D
  30. UNION
  31. SELECT /*+ INDEX(E IDX_GPRS_S_TIMESTAMP) */
  32.     COL_A,
  33.     COL_B,
  34.     COL_C,
  35.     S_TIMESTAMP
  36. FROM DM.CDR_GPRS PARTITION(P_20140622) E
  37. WHERE
  38.     S_TIMESTAMP <= TO_DATE('20140620205959', 'YYYYMMDDHH24MISS')
Y con esto ya no muestra los Table Access Full, pero noto que el costo se ha incrementado considerablemente:
https://www.dropbox.com/s/1ochfc9jvb...t01-1.png?dl=0

No estoy seguro si es buena usar hints en esta consulta, si me confirman.

Muchas gracias, saludos.