Optimización SQL en Oracle: Una guía práctica, detallada y completa sobre cómo implementar y explotar bases de datos Oracle de forma eficiente (Spanish Edition)

ABOUT Javier Morales Carreras

Javier Morales Carreras
I have more than 14 years of experience as 
-  Oracle database administrator. 

Description

Una guía práctica, detallada y completa sobre cómo implementar y explotar bases de datos Oracle de forma eficiente. 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.

En este libro he querido resumir tanto mi experiencia dando soporte a desarrolladores y administradores resolviendo aspectos relacionados con el rendimiento de la base de datos, como los conocimientos técnicos y herramientas necesarias para optimizar código SQL. Es un libro basado en la teoría y la práctica, con un gran número de ejemplos y casos resueltos. Mi intención es que el lector sea capaz de desarrollar un “olfato detectivesco” a partir del conocimiento de las métricas y las técnicas de las que Oracle dispone para resolver cualquier problema de rendimiento en la ejecución de código SQL. Es también un libro de principios y conceptos, pues se trata de una guía exhaustiva que incluye todo el conocimiento teórico de la tecnología del optimizador y, además, contiene un gran número de “vueltas de tuerca” a casos comunes, combinadas con técnicas y trucos para mejorar los tiempos de ejecución y sus consumos.