Siempre respondo que el desempeño de una consulta depende de varios factores como la cantidad de registros que deben filtrarse, la forma en la que está hecha la consulta e incluso el uso de estadísticas en la ejecución de ésta. Particularmente, cuando menciono la palabra “estadísticas” no me creen y debo explicar someramente algunos detalles del optimizador de consultas que sorprendentemente, no conocen.
Una de las responsabilidades de los programadores es garantizar que las bases de datos funcionen eficientemente. Esto implica no sólo un buen diseño de éstas sino también escribir consultas que se ejecuten en un tiempo razonable. Por supuesto, una vez que la base de datos se encuentra en producción es importante hacer un seguimiento a los planes de ejecución, memoria e índices utilizados por el servidor y otros elementos que nos indicarán los cambios necesarios para que las consultas funcionen de mejor manera.
Revisando en Internet me encontré con un libro electrónico denominado “SQL Server Execution Plans, 2nd Edition”, un libro escrito por Grant Fritchey y que aborda, de manera bien explícita y académica los elementos involucrados en la ejecución de una consulta. Estuve revisando el texto y éste puede ser usado como una excelente referencia para la comprensión y seguimiento de planes de ejecución de SQL Server.
Grant Fritchey es un SQL Server MVP con más de 20 años de experiencia en tecnología de información y es usuario del gestor desde 1995. El autor ha escrito libros para Apress y Simple-Talk y puede ser seguido en su cuenta de Twitter @GFritchey.
Contenido del libro:
Capítulo 1: Execution Plan Basics
Capítulo 2: Graphical Execution Plans for Basic Queries
Capítulo 3: Text and XML Execution Plans for Basic Queries
Capítulo 4: Understanding More Complex Query Plans
Capítulo 5: Controlling Execution Plans with Hints
Capítulo 6: Cursor Operations
Capítulo 7: Special Datatypes and Execution Plans
Capítulo 8: Advanced Topics
El libro puede ser descargado desde aquí.