Optimización de consultas SQL
Optimización de consultas SQL Carlos 10 Marzo, 2010 - 00:00Abro este tema para comentar cuestiones sobre rendimiento y optimización de consultas SQL en bases de datos Oracle, ejecución y análisis de Explain Plans, etc.
Abro este tema para comentar cuestiones sobre rendimiento y optimización de consultas SQL en bases de datos Oracle, ejecución y análisis de Explain Plans, etc.
Carlos, excelente haber
Subido por Tody1820 (no verificado) el 30 Junio, 2010 - 23:26
Carlos, excelente haber encontrado este foro... felicidades!!
Estoy auditando las consutlas SQL que se han ejecutado por un periodo determinado, sin embargo, entre la información que me arroja, encuentro: Tipo de objeto, Orden, Filas, Tamaño (KB), Costo, Tiempo(seg), Costo de CPU y Costo de E/S. Los costos a qué se refieren? en qué unidades está expresado el dato? Esto, es por cada select, union, group by, etc. que tenga en mi consulta.
De antemano, gracias !!
Tody, el coste de las
Subido por Carlos el 15 Julio, 2010 - 14:20
En respuesta a Carlos, excelente haber por Tody1820 (no verificado)
Tody, el coste de las consultas es una estimación que hace el optimizador de Oracle cuando ejecutas un Explain Plan, y es una medida interna que has de tener en cuenta, pero que al ser una estimación no es muy precisa.
Básicamente te va a servir para estimar si un cambio en la manera de hacer una Query va a conllevar una mejora en su ejecución, no vas a poder compararlo con otras medidas de rendimiento, y ni siquiera es aconsejable compararlo entre dos consultas diferentes que no devuelvan los mismos datos.
Gracias por tu respuesta
Subido por Tody el 19 Julio, 2010 - 22:05
En respuesta a Tody, el coste de las por Carlos
Gracias por tu respuesta Carlos !! ... entendiendo entonces que cada consulta tiene su propia medición, hice unas adecuaciones optimizando una misma consulta y las cantidades cambiaron mucho. Sin embargo, me sigue quedando la duda del por qué los valores de un inner join, left join, etc. siempre salen muy altos a pesar de haber optimizado en gran medida los demás elementos de la consulta. Deberían de aminorar al igual que los otros elementos, no es así?
No necesariamente. Depende de
Subido por Carlos el 19 Julio, 2010 - 22:44
En respuesta a Gracias por tu respuesta por Tody
No necesariamente. Depende de la optimización que hayas hecho. Si no varían quiere decir que la optimización puede mejorar otras cosas, pero no afecta demasiado a las joins.
Si la optimización la habías hecho justo para mejorar las joins, revisa la consulta porque puede que algo no se esté comportando como esperabas.
Si es una optimización orientada a mejorar en otros puntos, si el coste de esos puntos y el general se ha reducido ya irás bien encaminado.
Perfecto. Buscaré entonces
Subido por Tody el 20 Julio, 2010 - 13:04
En respuesta a No necesariamente. Depende de por Carlos
Perfecto. Buscaré entonces la forma de optimizar aun más la consulta. Mil gracias por compartir tu conocimiento en este mundo tan maravilloso como lo son las bases de datos y más, en BI.
Saludos.
Estoy intentando optimizar
Subido por Anonim. (no verificado) el 4 Octubre, 2010 - 17:17
Estoy intentando optimizar esta query y me es imposible se os ocurre algo:
SELECT COLOR.VAL_MINIMO,
MAX(COLOR.VAL_DESCRIPCION)
FROM COLOR, COLOR6
WHERE COLOR.VAL_CODIGO = COLOR6.DV_COD_VALOR AND
COLOR6.DV_COD_MODELO = 80 AND
COLOR6.DV_COD_VERSION = 2 AND
COLOR6.DV_COD_DATO = 118
GROUP BY COLOR.VAL_MINIMO
ORDER BY VAL_MINIMO
Tiene de coste 22 y es una exageracion.
Gracias.
Carlos, podrias por favor
Subido por ramon (no verificado) el 16 Enero, 2014 - 14:32
Carlos, podrias por favor darme una explicacion detallada respecto a tecnicas de optimizacion o tal vez unos link de referencia (revision sitactica,plan de ejecucion, otros), muchas gracias
Hola Ramón La mejor
Subido por Carlos el 16 Enero, 2014 - 23:24
Hola Ramón
La mejor referencia que se me ocurre es la misma documentación de Oracle. Para temas de optimización, en el libro Oracle Database Performance Tuning Guide 11g, por ejemplo, seguro que vas a encontrar casi todo lo que necesites, y sabes que la fuente es fiable. Te enlazo el capítulo Optimizing SQL Statements de este libro de la documentación online de Oracle, espero que te sea útil.
hola estoy empezando a
Subido por fran (no verificado) el 3 Febrero, 2014 - 22:58
hola estoy empezando a estudiar sql y quería saber si hay un analizador de consultas sql para oracle, y no cometer fallos en la sintaxis, y si lo hay se le puede poner cualquier tabla?? muchas gracias.
hola Me gustaria saber
Subido por caperucita el 12 Febrero, 2015 - 11:30
hola
Me gustaria saber cuantos OR puedo poner en una clauaula WHERE?
Gracias
Que yo sepa no hay ninguna
Subido por Carlos el 12 Febrero, 2015 - 19:24
En respuesta a hola Me gustaria saber por caperucita
Que yo sepa no hay ninguna limitación específica para los OR que puedes incluir en una sentencia SQL de Oracle, aunque si utilizas demasiados, y dependiendo también de lo que contengan los OR, se puede llegar a producir un error de tipo ORA-03113: end-of-file on communication channel.
También te digo que el error te va a venir más bien porque hayas alcanzado el límite que tu base de datos, o los conectores que intervengan puedan manejar para una sola sentencia SQL, no por llegar a un límite para los OR que contiene la sentencia.
Este límite para sentencias, además, puede depender de la versión de la base de datos, de tu entorno, del cliente que utilices..
Te enlazo una respuesta en askTom, que lo deja bastante claro, y un documento de referencia de Oracle 10g en el que se indican los límites lógicos de la base de datos, y al final apunta esta nota:
Y de todas maneras, lo normal es que una sentencia con muchos OR siempre se pueda resolver de otra manera más simple, ¿cuántos OR necesitas incluir en tu sentencia?
como puedo optimizar esta
Subido por DIANA (no verificado) el 21 Septiembre, 2016 - 23:01
como puedo optimizar esta consulta, me aparece un index fast full scan en la tabla en_objeto el indice de esta tabla es sgl_categoria y las pks son:cod_convocatoria, tpo_objeto, cod_etapa, sgl_tipologia
Hola Diana ¿Y la consulta
Subido por Carlos el 22 Septiembre, 2016 - 10:41
En respuesta a como puedo optimizar esta por DIANA (no verificado)
Hola Diana
¿Y la consulta SQL? Si tienes el explain plan también ayudaría.
Lo único que para poder crear imágenes tienes que registrarte.
Saludos,