Consultas

Solo disponible en BuenasTareas
  • Páginas : 3 (550 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de abril de 2011
Leer documento completo
Vista previa del texto
El optimizador de consultas es el componente del sistema de gestión de base de datos que intenta determinar la forma más eficiente de ejecutar una consulta SQL, es decir, cual es, de los posiblesplanes de ejecución para una consulta dada, el más eficiente. Los optimizadores basados en costo asignan un costo (que intenta estimar el costo de la consulta en términos de operaciones de entrada-salidarequeridas, requerimientos de CPU y otros factores) a cada uno de esos planes, y elige el que tiene menor costo. El conjunto de planes de ejecución se forma examinando los posibles caminos de acceso(mediante índices o secuenciales), algoritmos de “join” (sort-merge join, hash join, bucles anidados). El optimizador no puede ser accedido directamente por los usuarios, sino que, una vez enviadaslas consultas al servidor, pasan primero por el analizador y recién entonces llegan al optimizador.

[editar] ImplementaciónLa mayoría de los optimizadores presentan los planes de ejecución como unárbol de nodos del plan. Un nodo del plan encapsula una operación simple en la ejecución de la consulta. Los resultados intermedios fluyen desde las hojas del árbol hacia la raíz. Los hijos de un nodorepresentan a las operaciones cuyas salidas son la entrada del nodo padre. Por ejemplo, un nodo “join” tendrá dos hijos, que representan a los dos operandos del “join”. Las hojas del árbol representanoperaciones que producen resultados mediante búsqueda en el disco, por ejemplo, realizando una búsqueda indexada o una búsqueda secuencial.

[editar] Orden de “Join”La eficiencia de un plan deejecución es en gran parte determinada por el orden en el cual se opera con las tablas. Por ejemplo, al hacer “join” de una tabla pequeña con otras mucho mayores, tomará más tiempo si primero se operan lastablas grandes y luego la pequeña. La mayoría de los optimizadores determinan el orden de “join” por medio de un algoritmo de programación dinámica impulsado por el proyecto “System R database...
tracking img