Procesamiento y optimizacion de consultas en sqlserver

Solo disponible en BuenasTareas
  • Páginas: 7 (1554 palabras)
  • Descarga(s): 12
  • Publicado: 16 de junio de 2010
Leer documento completo
Vista previa del texto
PROCESAMIENTO Y OPTIMIZACION DE CONSULTAS
El procesador de consultas de SQL Server está basado en un entorno extensible que permite la rápida incorporación de nuevas técnicas de ejecución y optimización. Cualquier consulta de SQL se puede expresar en forma de árbol de operadores de algebra relacional extendida de SQL Server.
Visión general del proceso de optimización.
La optimización de lasconsultas forma parte de su proceso de compilación, que consta de cuatro pasos:
* Análisis /vinculación.- El analizador resuelve los nombres de tablas y columnas mediante los catálogos. SQL Server usa una cache de plan para evitar repetir la optimización de consultas idénticas o estructuralmente parecidas.
* Simplificación/normalización.- El optimizador aplica las reglas de simplificaciónal árbol de operadores para obtener una forma normal y simplificada.
* Optimización basada en el coste.- El optimizador aplica las reglas de exploración y de implementación para generar alternativas, estimar el coste de ejecución y escoger el plan con el coste anticipado mas bajo.
* Preparación del plan.- El optimizador crea las estructuras del plan de ejecución para el plan seleccionado.Reordenación y optimización basadas en el coste.
En SQL Server las transformaciones se integran completamente en la generación basadas en el coste y en la selección de los planes de ejecución. El optimizador de consultas de SQL Server incluye alrededor de trescientas cincuenta reglas de transformación lógica y física. Además de la reordenación de la reunión interna, el optimizador de consultasusa trasformaciones de reordenación para los operadores reunión externa, semirreunion y antisemirreunion del algebra relacional estándar.
Para estimar el coste de ejecución del plan el modelo tiene en cuenta el numero de filas que se espera procesar, denominado objetivo de filas, así como el número de veces que se ejecuta cada subexpresión. El número de filas puede ser menor que la estimaciónde la cordialidad en casos tales como Apply/semijoin. Apply/semijoin devuelve la fila t de T tan pronto como E(t) produce una fila (es decir, comprueba q E(t) existe. Por tanto, el objetivo de las filas del resultado de E(t) es 1, y los objetivos de filas de los subarboles de E(t) se calculan para este objetivo de filas de E(t) y se usan para la estimación del coste.

Planes de actualización.Los planes de actualización optimizan el mantenimiento de los índices, comprueban las restricciones, aplican las acciones en cascada y mantienen las vistas materializadas. Para el mantenimiento de los índices, en lugar de tomar cada fila y mantener todos sus índices, los planes de actualización aplican las modificaciones índice a índice, ordenado las filas y aplicando la operación update según elorden de la clave.
El problema de Halloween se aborda usando elecciones basadas en el coste. El problema de Halloween hace referencia a la siguiente anomalía: supóngase que se lee un índice salarial en orden ascendente y se están subiendo los sueldos en diez por ciento. Como resultado de la actualización, las filas se desplazarán hacia arriba en el índice, se volverán a encontrar y actualizar denuevo lo que lleva a un bucle infinito. Una forma de abordar este problema es separar el procesamiento en dos fases: en primer lugar se leen todas las filas que se van a actualizar y se hace una copia de ellas en un emplazamiento temporal, después se leen desde ese emplazamiento y se hacen todas las actualizaciones.
Búsquedas parciales y heurísticas.
SQL Server usa varias etapas deoptimización, cada una de las cuales usa transformaciones de la consulta para explorar regiones sucesivamente mayores del espacio de búsqueda.
Hay transformaciones sencillas y completas diseñadas para la optimización exhaustiva, así como las trasformaciones inteligentes que implementan varias heurísticas. Las transformaciones inteligentes generan planes que están muy lejos entre si en el espacio de...
tracking img