Código SQL del libro descargable en:
http://www.optimizacionsqlenoracle.com
¿En qué consiste el Bind Variable Peeking y por qué el plan de ejecución que se presenta no es el mismo que se ejecuta?, ¿por qué Oracle no está usando este o aquel índice?, ¿por qué las vistas materializadas, el particionamiento o el paralelismo han empeorado el rendimiento de la base de datos en vez de mejorarlo tal y como prometía la publicidad?, ¿es fiable el coste de los planes de ejecución?, ¿quién tiene la culpa de este producto cartesiano?
Hay mucha teoría y muchas horas de práctica detrás de las respuestas que ofrecemos a estas cuestiones. El motor Oracle es uno de los más completos (y complejos) que existen, pero un estudio en profundidad de sus componentes, sus estructuras y su arquitectura puede dar las claves para implementar SQL de forma eficiente y poder optimizar código ya escrito.
En este libro, además de intentar dar respuesta a las puntos anteriores, se describen con un gran número de ejemplos y casos prácticos resueltos, entre muchas otras cuestiones, las siguientes:
-Cómo usar eficientemente SQL Profiles, SQL Baselines, vistas materializadas y cómo validar sus capacidades de reescritura global sobre consultas, uso de variables bind y paquetes como DBMS_STATS, DBMS_SPM, etc.
-Cómo realizar el análisis y estudio de SQL ineficiente, incluyendo trucos y técnicas para desmenuzar las operaciones internas de sus ejecuciones.
-Un estudio a fondo sobre el optimizador y sus comportamientos, así como los principales parámetros que afectan a la ejecución de código SQL.
-Uso de funciones analíticas, control de las ordenaciones implícitas, del impacto en el rendimiento por el uso recursivo de funciones o un diseño físico inadecuado.
-Cómo las estimaciones de cardinalidad y selectividad en el uso de índices o métodos de combinación concretos afectan a las decisiones del optimizador.
Además, se incluye un glosario de hints exhaustivo y completo, en el que se ilustran las casuísticas de cada caso con ejemplos de su uso y su consiguiente efecto en los tiempos de ejecución.
En resumen, este libro recoge todos los aspectos relativos al rendimiento, útiles tanto para desarrolladores como para administradores, y supone una guía básica para entender qué ocurre en el interior de la base de datos y cómo conseguir que la ejecución de SQL sea óptima.
http://www.optimizacionsqlenoracle.com
¿En qué consiste el Bind Variable Peeking y por qué el plan de ejecución que se presenta no es el mismo que se ejecuta?, ¿por qué Oracle no está usando este o aquel índice?, ¿por qué las vistas materializadas, el particionamiento o el paralelismo han empeorado el rendimiento de la base de datos en vez de mejorarlo tal y como prometía la publicidad?, ¿es fiable el coste de los planes de ejecución?, ¿quién tiene la culpa de este producto cartesiano?
Hay mucha teoría y muchas horas de práctica detrás de las respuestas que ofrecemos a estas cuestiones. El motor Oracle es uno de los más completos (y complejos) que existen, pero un estudio en profundidad de sus componentes, sus estructuras y su arquitectura puede dar las claves para implementar SQL de forma eficiente y poder optimizar código ya escrito.
En este libro, además de intentar dar respuesta a las puntos anteriores, se describen con un gran número de ejemplos y casos prácticos resueltos, entre muchas otras cuestiones, las siguientes:
-Cómo usar eficientemente SQL Profiles, SQL Baselines, vistas materializadas y cómo validar sus capacidades de reescritura global sobre consultas, uso de variables bind y paquetes como DBMS_STATS, DBMS_SPM, etc.
-Cómo realizar el análisis y estudio de SQL ineficiente, incluyendo trucos y técnicas para desmenuzar las operaciones internas de sus ejecuciones.
-Un estudio a fondo sobre el optimizador y sus comportamientos, así como los principales parámetros que afectan a la ejecución de código SQL.
-Uso de funciones analíticas, control de las ordenaciones implícitas, del impacto en el rendimiento por el uso recursivo de funciones o un diseño físico inadecuado.
-Cómo las estimaciones de cardinalidad y selectividad en el uso de índices o métodos de combinación concretos afectan a las decisiones del optimizador.
Además, se incluye un glosario de hints exhaustivo y completo, en el que se ilustran las casuísticas de cada caso con ejemplos de su uso y su consiguiente efecto en los tiempos de ejecución.
En resumen, este libro recoge todos los aspectos relativos al rendimiento, útiles tanto para desarrolladores como para administradores, y supone una guía básica para entender qué ocurre en el interior de la base de datos y cómo conseguir que la ejecución de SQL sea óptima.