Pregunta

Tengo algunas preguntas sobre la optimización de este tipo de carga.

Uno construye una nueva tabla de datos para cargar en una tabla particionada y luego construye los índices en esta nueva tabla.

  1. ¿Debería crear el índice con la opción COMPUTE STATISTICS o usar la opción Cascade de DBMS_Stats?

  2. ¿Debería reunir estadísticas en la tabla antes del intercambio o en la partición después del intercambio?

  3. Si lo hace después del intercambio y especifica el nombre de la partición en la lista de parámetros, ¿qué interacción tiene el parámetro de granularidad? Por ejemplo, si especifico un nombre de partición y luego establezco la granularidad en 'GLOBAL Y PARTICIÓN', ¿eso hace Global? ¿Hace solo esa partición?

¿Fue útil?

Solución

  

¿Debería crear el índice con la opción COMPUTE STATISTICS o usar la opción en cascada de DBMS_Stats?

Si se trata de un almacén de datos, primero considere no recopilar estadísticas y utilizar un muestreo dinámico. En segundo lugar, si recopila estadísticas, utilice las estadísticas de cómputo en el índice.

  

¿Debería reunir estadísticas en la tabla antes del intercambio o en la partición después del intercambio?

Recopile estadísticas sobre la nueva tabla de datos antes del intercambio para obtener estadísticas de la partición sobre los nuevos datos. Luego, reúna estadísticas sobre la tabla particionada para recopilar estadísticas de la tabla

  

Si lo hace después del intercambio y especifica el nombre de la partición en la lista de parámetros, ¿qué interacción tiene el parámetro de granularidad? Por ejemplo, si especifico un nombre de partición y luego establezco granularidad en 'GLOBAL AND PARTITION', ¿eso hace Global en absoluto? ¿Hace solo esa partición?

Ver arriba.

En serio, no dé oportunidad a las estadísticas y al muestreo dinámico.

Otros consejos

  1. DBMS_STATS se considera la forma correcta de calcular estadísticas para esta versión. Construir el índice con COMPUTE STATISTICS es factible, pero generalmente desea calcular todas sus estadísticas a la vez y tomar instantáneas.

  2. Quieres recopilar estadísticas después del intercambio. De esta forma, el optimizador hará la mejor suposición para ejecutar consultas utilizando los datos de esas particiones.

  3. ¿Por qué pondrías ambos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top