Rendimiento tablas particionadas

Se me olvidaba preguntarte por la sentencia de consulta de datos de tablas particionadas.
¿Hay diferencia en el rendimiento si incluyo la clausula partition (X) en una select a si no la incluyo?
ej. Select * from historico_ventas where hismeshis = 1 partition(Mes1)
o
select * from historico_ventas where hismeshis = 1
Es que no se si al incluir el campo clave de particionamiento (hismeshis en el ejemplo) en la clausula where oracle automáticamente va unicamente a buscar en la partición Mes1 y no hace falta indicarle la partición.

1 respuesta

Respuesta
1
En referencia al particionamiento de tablas (y sus indices correspondientes). Existe una gran confusión. QUe espero que no sea la tuya. El particionamiento se suele realizar con aspectos de tratamientos individualizados de mantenimiento del DBA y casi siempre para sistemas DHW.
Es decir, tu ahora decides realizar particiones por mes. ¿Qué pasará cuando alguien te pida información de todo un año? Poner la columna = a los 12 meses. Error! Tardaría más que sin particionar! ... EN fin, que espero que tengas bien claro el concepto y el uso que se hace en el PARTICIONAMIENTO.
En cuanto a la pregunta que me realizas, DIRECTAMENTE, coloca SIEMPRE :
select * from historico_ventas where hismeshis = 1
Sin mencionar la partición, ya que oracle internamente accederá a la partición definida. Y así mantienes el standard ansi sql.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas