36
7/23/2019 5 Optimizacion de Consultas http://slidepdf.com/reader/full/5-optimizacion-de-consultas 1/36 Optimización de Consultas Base de Datos II

5 Optimizacion de Consultas

Embed Size (px)

Citation preview

Page 1: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 1/36

Optimización deConsultas

Base de Datos II

Page 2: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 2/36

Introducción Dada un expresión del álgebra relacional el Optimizador de

Consultas (OC) debe producir un plan de ejecución quecalcule el resultado de la manera menos costosa. La generación de planes de ejecución implica dos etapas:

Generar expresiones que sean lógicamente equivalentesa la expresión de la consulta.

Anotar las operaciones con los algoritmos a utilizar.

Page 3: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 3/36

Introducción Un Plan de Ejecución define:

El algoritmo que debe ser utilizado para cada operación. El orden de evaluación de los operaciones.

Page 4: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 4/36

Optimización basada en costo Dados dos planes de ejecución la diferencia en tiempo de

ejecución entre ambos puede ser enorme. Segundos s D!as "os pasos de la Optimización Basada en Costo son:

#enerar e$presiones lógicamente equivalente basada enreglas de equivalencias

%notar cada e$presión de manera a obtener diferentes planes. Escoger el plan m&s barato basado en un costo estimado.

"a estimación del costo de los planes se basa en: Información estad!stica acerca de la relaciones.

Br' (r' )Bi' %ai Información estad!stica acerca de los resultados intermedios. Estimación del costo de los algoritmos usando como entrada la

información estad!stica

Page 5: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 5/36

Trasformación de las expresiones Dos e$presiones se dicen equivalentes si generan el

mismo conjunto resultado en cada ejemplar legal dela base de datos. Una regla de equivalencia indica las dos formas

equivalentes de una e$presión.

Se puede substituir una expresión de la primeraforma por otra equivalente de la segunda forma yviceversa

El optimizador *ace uso de la reglas para transformarlas e$presiones en otras equivalentemente lógicas.

Page 6: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 6/36

Reglas de equivalencia

+. "as condiciones conjuntivas pueden descomponerse

en una secuencia de selecciones individuales.

,. "as operaciones de selección son conmutativas.

-. Sólo la ultima operación de proección es necesaria'las otras pueden omitirse.

/. "as selecciones pueden combinarse con los productos

cartesianos con las reuniones zetaα.   σθ0E+ 1 E,2 3 E+  θ E, β.   σθ+0E+ θ, E,2 3 E+  θ+∧ θ, E, 

))(()(2121 E  E 

θ θ θ θ   σ σ σ    =∧

))(())((1221 E  E 

θ θ θ θ   σ σ σ σ    =

)())))((((121 E  E 

 L Ln L L  Π=ΠΠΠ  

Page 7: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 7/36

Reglas de equivalencia

4. "as reuniones zeta reuniones naturales

conmutativas.E + θ  E , 3 E ,  θ  E +

5. 0a2 "as operaciones de reunión natural sonasociativas.

0E + E 22 E 3 = E + 0E ,  E -20b2 "as operaciones de reunión zeta son asociativasen la siguiente manera.  0E + θ+ E 22 θ,∧ θ3 E 3 = E + θ+∧ θ3 0E ,  θ, E -2

Donde θ, solo involucra atributos de E , y  E -

Page 8: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 8/36

Reglas de equivalencia

6. "a operación de selección se distribue sobre la

operación de reunión zeta cuando:a2 "a condición de selección solo involucra a atributos de

una de la relaciones 0en este caso E +2.  σθ7(E+ θ E,2 3 0σθ70E+22 θ E,

b2 8uando las condiciones de selección involucran deforma separada a atributos de una de las relaciones.  σθ+∧θ2 (E+  θ E,2 3 0σθ+0E+22 θ 0σθ2 0E,22

Page 9: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 9/36

Reglas de equivalencia

9. "a proección se distribue sobre una reunión zeta de

la siguiente manera:a2 Si la condición sólo involucra atributos de "+ U ",

b2 Dada la reunión E+  θ E, ' Siendo "+ ", atributos de E+ E, respectivamente. Siendo "- atributos de E+ involucrados en la condición de

reunión pero que no est&n en "+ U ",. Siendo "/ atributos de E, involucrados en la condición de

reunión pero que no est&n en "+ U ",.

))(())(()( 2121 2121  E  E  E  E    L L L L   ∏∏=∏   ∪   θ θ 

)))(())((()( 2121 42312121 E  E  E  E    L L L L L L L L   ∪∪∪∪   ∏∏∏=∏

θ θ 

Page 10: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 10/36

Reglas de equivalencia

. "as operaciones de unión e intersección son conmutativas.

E + ∪ E ,  3 E , ∪ E + E + ∩ E ,  3 E , ∩ E + 

+7. "as operaciones de unión e intersección son asociativas.0E + ∪ E ,2 ∪ E - 3 E + ∪ 0E , ∪ E -20E + ∩ E ,2 ∩ E - 3 E + ∩ 0E , ∩ E -2

++. "a selección es distributiva sobre las operaciones de uniónintersección diferencia.

σ θ 0E +  ; E ,2 3 σ θ 0E +2 ; σ θ0E ,2."o cual tambi<n es v&lido para ∪  ∩ 

%dem&s:σ θ 0E +  ; E ,2 3 σ θ0E +2 ; E ,

&lido para ∩' pero no para ∪

+,. "a proección es distributiva sobre la operación de unión.Π"0E + ∪ E ,2 3 0Π"0E +22 ∪ 0Π"0E ,22

Page 11: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 11/36

Ejemplo de transformaciones

8onsiderando los siguientes esquemas: Esquema=sucursal 3 0nombre=sucursal' ciudad=sucursal'

activo2 Esquema=cuenta 3 0n>mero=cuenta' nombre=sucursal'

saldo2 Esquema=impositor 3 0nombre=cliente' n>mero=cuenta2

"a consulta en el algebra relacional:Π nombre=cliente 0σ  ciudad=sucursal 3?%rganzuela@ ∧ saldo A+777 0 sucursal0cuenta impositor222

Se transforma en:Π nombre=cliente 00σ  ciudad=sucursal 3?%rganzuela@ 0sucursal2σ  saldo A+777 0cuenta22 impositor2

Page 12: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 12/36

Ejemplo de transformaciones

Page 13: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 13/36

Orden de las reuniones

#racias a la asociación de las operaciones de reunión

se puede elegir cual calcular primero en función altamao del resultado generado. Si se tiene que calcular r +  r ,  r -' esto se puede

calcular como:

0r +  r ,2 r -' o como  r +  0r ,  r - 2 Se elige la opción que requiera de menor espacio

temporal.

Page 14: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 14/36

Orden de las reuniones

Si se tiene que calcular 0r +  r ,2 r -' pero resulta que r + 

r , no tienen atributos en com>n' la operacióndegenera en 0r + $ r ,2 r -.

Si r+  r, son relaciones grandes se requerir& del usode muc*o espacio temporal

Si r- tiene atributos en com>n con r+  r, entonces laoperación se puede transformar en 0r +  r -2 r ,. 0r +  r ,2 r -

r +  0r ,  r -2 r 

+  0r 

- r 

,2 0r +  r 32 r 2

Cor asociatividad se puede elegir la operación querequiera menor tamao temporal.

Page 15: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 15/36

Enumeración de expresionesequivalentes El optimizador aplica sistem&ticamente las reglas de

equivalencia para generar e$presiones equivalentes ala consulta dada. Se pueden generar todas la e$presiones como sigue:

epetir *asta que todas las e$presiones *aan sidoprocesadas. Seleccionar una e$presión no procesada. %plicar cada regla de equivalencia aplicable. %gregar las nuevas e$presiones al resultado.

El enfoque anterior es mu costoso en t<rminos de

tiempo espacio.

Page 16: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 16/36

Elección de los planes deevaluación Se debe considerar las diferentes t<cnicas de

evaluación de la operaciones cuando se escogen losplanes. Escoger el algoritmo menos costoso de cada operación

independientemente no lleva siempre al mejor plan. El join por mezcla podr!a ser un poco m&s costos que un

 join por *as*' pero puede proporcionar un resultadoordenado que podr!a reducir el costo de las operacionessiguientes.

El oin por bucle anidado puede dar oportunidad alencausamiento de operaciones.

En la pr&ctica los optimizadores incorporan elementosde los siguientes enfoques: Buscar todos los planes escoger el mejor basado en un

enfoque de selección basada en costo. Usar *eur!sticas para escoger los planes.

Page 17: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 17/36

Optimización Basada en Costo "os optimizadores basados en el coste generan

una gama de planes de evaluación a partir de laconsulta dada empleando las reglas de equivalencia escogen el de coste m!nimo.

8onsiderar buscar el mejor ordenamiento parar +  r , . . . r n .

Fa 0,0n – 1))!/(n – 1)! órdenes de reunión diferentes. 8on n 3 6 son 554,97 con n 3 +7 son G3 +6.577

millones. Ho es necesario generar todos los ordenes' utilizando

Programación !in"mica se puede calcular el ordende alg>n subconjunto luego utilizarlo m&s tarde.

Page 18: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 18/36

rogramación !in"mica enOptimización Cara buscar el mejor "rbol de join de n relaciones

8onsiderar todos los planes de la forma:S+  0S ; S+2 donde S+ es un subconjunto no vac!o deS.

8omputar recursivamente el costo de cada subconjuntode reunión de S. Escoger la m&s barata de las ,n ; +

alternativas 8aso base de la recursión: acceso a una sola relación.

Utilizar el modo de acceso m&s apropiado. 8uando se computa el plan para cualquier subconjunto'

se guarda el resultado para utilizarlo cuando searequerido nuevamente' en vez de volver a calcularlo. Esto se denomina Programación !in"mica

Page 19: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 19/36

 #lgoritmo de ! para la Reuniónprocedure *allarmejorplan0S2

if 0mejorplanSJ.coste ≠ ∞2return mejorplanSJ

if 0S contiene sólo una relación2establecer mejorplanSJ.plan mejorplanSJ.coste en t<rminosde la mejor forma de acceder a S

 KK mejorplanSJ no se *a calculado anteriormenteelse for eac# subconj. no vac!o S+ de S t.q. S+ ≠ S

C+ 3 *allarmejorplan0S+2C, 3 *allarmejorplan0S ; S+2% 3 mejor algoritmo para reunir C+ C,coste 3 C+.coste L C,.coste L coste de %if coste M mejorplanSJ.coste

mejorplanSJ.coste 3 costemejorplanSJ.plan 3 ?ejecutar C+.planN ejecutar

C,.planN reunir resultados de C+ de C, utilizando %@

return mejorplanSJ

Page 20: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 20/36

 $rboles de %oin "os ordenes de reunión por la izquierda son

aquellos en los que el operando de la derec*a de cadareunión es una de la relaciones iniciales. Son convenientes para evaluaciones encauzadas El tiempo de consideración de todos los ordenes

por la izquierda es O$n%&

Page 21: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 21/36

Costo de la optimización "a complejidad temporal del algoritmo de C.D. es O0-n2.

8on n 3 +7 son 4.777 pasos en vez de +6.577 ). "a complejidad espacial es O0,n2 Cara encontrar el mejor ordenamiento en profundidad por la

izquierda de n relaciones: 8onsiderar n alternativas con una de la relaciones como

entrada derec*a las otras relaciones como entradasizquierdas. "o que modifica el algoritmo de optimización de CD

eemplazando el Pfor eac# subconj. no vac!o S+ de S t.q.S+ ≠ SQ por Pfor eac# r en S' *aciendo S+ 3 S=rQ 

8uando se consideran solo los ordenamientos en profundidad porla izquierda el costo temporal del algoritmo es O0,n2.

"a optimización basada en costos es costosa' pero vale la penapara BD grandes' en especial si las consultas son pequeas0nM3+72.

Page 22: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 22/36

Orden Interesante 8onsidere la e$presión 0r+ r,2 r-' con un atributo com>n %.

Un orden interesante es un ordenamiento de las tuplas quepuede ser >til en operaciones posteriores. Utilizar )erge=oin para r+ r, puede ser mas costoso que un

Fas*=oin' pero generar!a el resultado ordenado por %. Cero esto podr!a ser >til para *acer un )erge=oin con r-.

Un resultado ordenado tambi<n es >til para agregaciones'ordenamiento o agrupamiento. Ho es suficiente buscar independientemente el mejor orden de

reunión de n relaciones. Fa que *alla el mejor orden de reunión para cada orden

interesante Se e$tiende el algoritmo de optimización de CD para que

aparte del orden de reunión tambi<n considera si en elconjunto e$iste un orden interesante aprovec*able.

Usualmente solo se da un pequeo n>mero de ordenesinteresantes' lo que no aumenta la complejidad temporal

espacial del alg. de CD

Page 23: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 23/36

Optimización &eur'stica "a optimización basa es costo es costosa aun con CD sus

mejoras. "os S#BD pueden aplicar Feur!sticas para reducir el n>mero de

posibilidades a ser consideradas en un an&lisis de costo. "as 'eur(sticas son transformaciones en el &rbol de la consulta

que por lo general 0no siempre2 disminuen el costo deprocesamiento. ealizar las selecciones los m&s antes posible.

Descomponer las condiciones conjuntivas. Desplazar las selecciones lo m&s *acia abajo en el &rbol.

ealizar las proecciones los m&s antes posible. Dividir la lista de atributos de manera a realizar las proecciones

primero 0desplazarlas lo m&s *acia abajo en el &rbol2. ealizar primero operaciones de join o selección m&s restrictivas. Sustituir selecciones sobre productos cartesianos por joins basados en

la condición de selección. Dar prioridad a la posibilidad de realizar operaciones encauzadas.

Page 24: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 24/36

Optimización &eur'stica "as *eur!sticas tratan de reordenar el &rbol para

reducir el tamao de los datos intermedios loantes posible.

"as *eur!sticas pueden aplicarse para determinarvarios planes basados en caminos de accesos

e$istentes Esta fase de selección del plan de acceso del

optimizador *eur!stico selecciona la estrategia m&seficiente para cada operación.

%nteriormente muc*os S#BD solo realizaban

Optimizaciones basadas en Feur!sticas. Ho ten!an un optimizador basado en costo

Page 25: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 25/36

Estructura de los Optimizadores "a maor!a de los optimizadores solo considera ordenaciones

profundas por la izquierda. %plicando *eur!sticas para realizar antes selecciones

proecciones. Rtil para reducir la complejidad de optimización generar planes

que aprovec*en el encauzamiento. %ntiguas versiones de Oracle solo pose!an un optimizador

*eur!stico Buscar repetidamente la siguiente Pmejor relaciónQ de forma

*eur!stica para una reunión. Evaluando n planes para cada una de las n relaciones como punto de

partida.

 S" introduce un alto grado de complejidad en losOptimizadores cuando se presentan consultas anidadas. Subconsultas' op. de conjuntos 0unión' intersección' dif.2. Se analiza cada parte por separado luego se combinan en un

plan global.

Page 26: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 26/36

Estructura de los Optimizadores %lgunos optimizadores combinan *eur!sticas de

selección estrategias de generación de planes. Un enfoque puede ser:

eescritura de operaciones basadas en *eur!sticas Optimización del ordenamiento de joins basada en costo.

%>n cuando la optimización basada en costo puede sercostosa suponer una sobrecarga: El mejoramiento de consultas costosas supone una

ganancia. %s! los optimizadores aplican *eur!sticas para

consultas sencillas realizan una enumeracióne$*austiva para consultas complejas.

Page 27: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 27/36

Información Estad'stica nr : n>mero de tuplas en la relación r 

br : n>mero de bloques que contienen tuplas de larelación r 

t r : tamao de las tuplas de la relación r  en btes f r : factor de bloqueo' numero de filas de la relación r  

que caben en un bloque

V(A, r) : n>mero de valores distintos del atributo oconjunto de atributos A en la relación r 

=

r  f  r n

r b

Page 28: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 28/36

Información Estad'stica Fistogramas:

#uarda información acerca de la distribución de los valores enun atributo de una relación. Esto auda al optimizador a estimar con maor precisión el

n>mero de filas. Sin esta información solo se puede suponer que la distribución es

uniforme.

Page 29: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 29/36

Estimación del tama(o de larelaciones "a estimación del tamao de una selección depende de la

condición   A=v $r & nr  / V(A,r)' lo que supone una distribución uniforme.

%un as! normalmente es una apro$imación razonable. +' cuando la condición es sobre una clave candidata.

   A v $r & 0el caso  A ≥ v $r & es simetrico2 Si est&n disponible las informaciones min ma$ en %

c 3 7 si v M min0%'r2

c 3

Si e$iste un *istograma es posible refinar la apro$imación En ausencia de información estad!stica el tamao estimado es

nr  / 2

),min(),max(

),min(.

r  Ar  A

r  Avnr  −

Page 30: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 30/36

)elecciones complejas "a selectividad si de una condición θi  es la probabilidad de

que una tupla satisfaga θi  . si = |σθ+0r2TT K nr

Conjunción) σθ+∧ θ,∧. . . ∧ θn 0r2. %sumiendo independencia' elnumero estimados de tuplas es igual a:

!isjuncion)σθ+∨ θ, ∨. . . ∨ θn 0r2. El n>mero estimado de tuplases:

*egation) σ¬θ0r2. El n>mero estimado de tuplas esnr ; size0σθ0r22

nr 

n

r  n

 s s s

n

  ∗∗∗

 ...21

   

 

 

 

−∗∗−∗−−∗   )1(...)1()1(1

  21

n

r r 

r  n

 s

n

 s

n

 sn

Page 31: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 31/36

Tama(o de las reuniones El producto cartesiano r  $ s contiene nr x ns tuplas de

tamao t r  + t s btes. Si R ∩ S 3 ∅' r   s se reduce a un producto cartesiano r $

s.

Si R ∩ S es una clave de r ' cada tupla de s se re>ne con almenos una tupla de r ' siendo el n>mero de tuplas en r s

es como m&$imo igual al n>mero de tuplas de s Si R ∩ S es una clave for&nea que referencia a r, entonces

el n>mero de tuplas en r   s es igual al n>mero de tuplasde s.

El caso es sim<trico para un clave for&nea quereferencia a s.

Page 32: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 32/36

Tama(o de las reuniones Si R ∩ S 3  AV no es una clave de r o s' adem&s se

asume que cada fila de r est& en el resultado' entonces eln>mero de filas en r s es estimado como:

Si se cumple lo inverso' entonces el tamao se estima por:

Cor lo general el menor de estos dos valores es laestimación m&s e$acta.

"as estimaciones anteriores se pueden mejorar si sedisponen de *istogramas

),(   s AV 

nn sr   ∗

),(   r  AV 

nn sr  ∗

Page 33: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 33/36

Tama(o de otras operaciones Croección: tamao estimado de ∏ A0r 2 3 V 0 A'r 2

%gregación: tamao estimado de  AgF 0r 2 3 V 0 A,r 2 Operaciones de conjuntos

Uniones K Intersecciones en la misma relación: Se aplica el tamao estimado de las selecciones   σθ+ 0r 2 ∪ σθ, 0r 2 3 TTσθ+ 0r 2 TT L TTσθ, 0r 2TT

Cara operaciones en diferentes relaciones:  r ∪ s 3 nr  L ns.

 r ∩ s 3 min 0nr ' ns2.  r  ; s 3 nr .

Wodos estos valores pueden no ser una buena estimación'sin embargo proporcionan un limite superior para losvalores reales.

Outer join: r s = ||r s || + nr 0rig*t outer join es simetrico2

r s = ||r s || + nr + ns

Page 34: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 34/36

Estimación de valores distintosSelecciones : σθ 0r 2

Si θ indica un valor espec!fico 0θ  %3 -2' etonces:V 0 A' σθ 0r 22 3 +. Si θ indica un conjunto de valores:

V 0 A' σθ 0r 22 3 n>mero de valores especificados.   θ  0 A 3 + or   A =  - or A 3 /2

V 0 A' σθ 0r 22 3 - Si la condición θ es de la forma  A op r ' siendo op un

operador de comparación V 0 A' σθ 0r 22 3 V 0 A' r 2 X s

Donde s es la selectividad de la operación. "os casos restantes se apro$iman por:

min0V 0 A'r 2' nσθ 0r 2 2

Page 35: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 35/36

Estimación de valores distintosoins: r s

Si todos los atributos en A son de r ' la estimación es: V 0 A, r s2 3 min 0V 0 A' r 2' n r s2 8aso sim<trico para s

Si A contiene atributos A+ de r   A, de s' entonces la

estimación esta dada por: V 0 A, r s2 3 min0V 0 A+' r 2 X V 0 A, ; A+' s2'V 0 A+ ; A,' r 2 X V 0 A,' s2' nr s2

 

Page 36: 5 Optimizacion de Consultas

7/23/2019 5 Optimizacion de Consultas

http://slidepdf.com/reader/full/5-optimizacion-de-consultas 36/36

Estimación de valores distintos "os valores distintos en proecciones' agrupaciones

agregaciones son iguales al de la relación. 0%' r 2

En operaciones de agregación: Cara min0 A2 ma$0 A2' el n>mero de valores distintos se

estima como min00 A, r 2' V 0, r 22' donde # denota alos atributos de agrupamiento.

Cara otras agregaciones 0suma' cuenta' promedio2 sesupone que todos los valores son distintos us&ndosecomo estimación a V 0, r 2