Optimizacion de consultas

Páginas: 8 (1847 palabras) Publicado: 26 de noviembre de 2010
)  8 ) ¡ ¥   ¡ @$ 9'¤¨7!¨ 65 "#4$ 31   © 2 %¦§'&%#"! §¨¦¤¢  0 ) ( $ ¡  ¡   © ¥£ ¡

En Los modelos de Red y Jerárquico la optimización de consultas es tarea propia del programador de aplicaciones, puesto que las instrucciones de manipulación de datos son propietarias del lenguaje anfitrión. Por el contrario las consultas de base de datos relacionales son o biendeclarativas o algebraicas. Los lenguajes algebraicos permiten la transformación algebraica de la consulta, luego, basándose en la especificación algebraica de la consulta es relativamente fácil para el optimizador generar diversos planes equivalentes para la consulta y elegir el menos costoso. Dado este nivel de generalidad, el optimizador puede ser visto como el generador de código de un compiladorpara el lenguaje SQL, que produce el código que será interpretado por el motor de ejecución de consultas, excepto que el optimizador marca énfasis en la capacidad de producir el código más eficiente, haciendo uso para tales efectos del catálogo de la base de datos, de donde obtiene información estadística de las relaciones referenciadas por la consulta, algo que los lenguajes de programacióntradicionales no hacen. Un aspecto de la optimización de consultas se sitúa en el nivel del álgebra relacional. Dado un conjunto de reglas se trata de encontrar una expresión que sea equivalente a la expresión dada pero que sea más eficiente en la ejecución. Con el fin de seleccionar la mejor estrategia para la recuperación de datos el optimizador “estima” un costo que estará relacionado a cada plan deejecución. Este costo está determinado por fórmulas predefinidas en base a información que se posee de la tabla y que se ha rescatado previamente del catálogo de la base de datos, en realidad el optimizador no siempre escoge el plan más óptimo, ya que encontrar la estrategia óptima puede consumir mucho tiempo, por lo tanto se dice que el optimizador “sólo escoge una estrategia razonablementeeficiente”. La manera con la que el optimizador utiliza esa información, las distintas técnicas y algoritmos que aplica y las transformaciones algebraicas que se realizan son las que diferencian a los optimizadores de bases de datos. Un optimizador basado en el costo genera una serie de planes de evaluación para una consulta y luego elige el que tiene un menor costo asociado, las medidas de costocomúnmente tienen que ver con la E/S y el tiempo de CPU utilizado en ejecutar la consulta, sin embargo, es cuestión de cada SGBD el elegir las medidas de costo que mejor representen el criterio de minimización en la utilización de recursos.

¡ #§#" !¦¦¨¦¤£ ¢      © § ¥ ¡ ¡

Como se ha mencionado anteriormente, la información del catálogo de la base de datos le sirve al SGBD para estimarel costo de los planes de ejecución de una consulta. La precisión de esta información esta ligada directamente a la periodicidad con la que se actualizan las estadísticas del catálogo. En un caso ideal, cada vez que se compromete una transacción de base de datos se deberían actualizar las estadísticas del sistema, sin embargo, esto no es posible en un entorno OLTP[13] dada la sobrecarga que estasoperaciones le dan al sistema (básicamente bloqueos en las tablas del catálogo). La solución está entonces en la posibilidad de actualizar estas estadísticas en periodo de poca carga del sistema, algunos SGBD tienen técnicas de optimización automáticas de las estadísticas (como es el caso de MS-SQLServer [Bjeletich99]) pero en general se recomienda que esta tarea la ejecute el DBA con laperiodicidad que le dicte la experiencia. En todo caso, la información será más precisa cuanto más bajo sea el nivel de actualizaciones en el intervalo de tiempo entre actualizaciones de Estadísticas. Cada SGBD tiene distinta información que guardar en el catálogo y por ende, el catálogo de la base de datos es distinto entre cada uno de estos motores, sin embargo, hay información que todo optimizador...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Optimizacion De Consultas
  • Optimizacion De Consultas
  • Optimizacion de consultas
  • Procesamiento y optimizacion de consultas en sqlserver
  • Optimizacion de consulta de libros
  • TRIGGERS Y OPTIMIZACION DE CONSULTAS
  • Analisis y Optimizacion de Consultas de bdd
  • Optimización de consultas SQL

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS