Oracle - reescribir query eficientementes

 
Vista:

reescribir query eficientementes

Publicado por williams (142 intervenciones) el 05/03/2003 22:28:41
saludos:
He notado cierta ejecucion de sentencias DML lenta y rapida dependiendo de la forma en la que coloque las tablas, predicados, condiciones en las clausulas FROM, WHERE, GROUP BY, HAVING, etc.
saben de alguna fuente en particular donde puede encontrar informaciòn al respecto.
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

RE:reescribir query eficientementes

Publicado por PLANEA (50 intervenciones) el 05/03/2003 23:21:56
1o. Como ultima condicion en el where pon las columnas de la tabla pivote.
2o Haz el join necesario
3o Pon las condiones constantes o parametros
Repite 2o y 3o tantas tablas tengas.

Ejemplo.

Si tuvieras movimientos por fecha y status (Activo Inactivo), con algunas descripciones
1o Filtrar Fecha (Diario o rango)
2o Filtrar Status
3o Join con tablas de Descripciones

Proponer indices por FECHA y STATUS

Tambien te puedes auxiliar de EXPLAIN PLAN y ver el Plan de Ejecucion

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

Depende del Optimizador

Publicado por Jorge (87 intervenciones) el 06/03/2003 20:57:57
Depende del Optimizador que estes utilizando,.. si el optimizador que utilizas es el basado en Reglas,.. claro que funciona asi,.. pero si el Optimizador que Utilizas es basado en Costos, lo que toma como referencia para la ejecución de tu sentencia son las estadisticas del diccionario de datos, las cuales se actualizan corriendo el Anlize.

En mi página tengo algo de Información sobre ésto,.. la dirección es :

http://www.jdguillen.freeservers.com/tareas.htm

haz click en la opción : "Afinamiento de Aplicaciones Oracle".

Saludos.
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