Sunteți pe pagina 1din 9

Jos Luis Gonzlez Glvez Jos Pablo Santiago Cabrera

Tablas de Proveedores(PR) y Pedidos(PE) con 100

proveedores y 10.000 pedidos. Consideraremos que slo 50 tuplas de PE corresponden al producto Jabn (se hace pedido por Productos). Consulta: Obtener los nombres de los proveedores que nos sirven el producto Jabn.

SELECT DISTINCT S.NOMBRE

FROM S, P WHERE S.S#=P.S#AND P.P#=P2;

SELECT DISTINCT S.NOMBRE FROM S, P WHERE S.S#=P.S#AND P.A#=P2;

Aspectos que intervienen en la optimizacin de

consultas:
Hallar una expresin a nivel de lgebra relacional

equivalente a la dada, pero ms eficiente. Determinar el algoritmo a utilizar para cada operacin.
Necesidad de estimar el coste de las operaciones
Informacin estadstica en el catlogo Estimacin de coste de resultados intermedios

Existen varios medios para calcular la respuesta a una consulta. En el caso de sistemas centralizado, el criterio principal para determinar el costo de una estrategia especifica es el nmero de accesos al disco. En un sistema distribuido es preciso tener en cuenta otros factores, como son: El costo de transmisin de datos en la red.

El beneficio potencial que supondra en la ejecucin el que varias localidades procesaran en paralelo partes dela consulta.
El costo relativo de la transferencia de datos en la red y la transferencia de datos entre la memoria y el disco varia en forma considerable, dependiendo del tipo de red y de la velocidad de los discos. Por tanto, en un caso general, no podemos tener en cuenta solo los costos del disco o los de la red. es necesario llegar a un equilibrio adecuado entre los dos.

El coste de una consulta se puede expresar:


El tiempo de acceso a almacenamiento secundario. El tiempo de CPU para ejecutar la consulta. El tiempo de comunicacin (BD distribuidas).

El tiempo de acceso depender:


Del volumen de datos sobre el cul debe actuar (nmero y

tamao de las tuplas) De la organizacin fsica (existencia de ndices, agrupamientos,etc.) De su localizacin (memoria principal o dispositivo externo). Del tamao del buffer de memoria principal que se dedica a almacenar las tuplas mientras se ejecutan los operaciones sobre ellas.

Partiremos de la siguiente situacin:

NODO1:

El contenido de la relacin EMPLEADO es el siguiente:

- 10,000 tuplas. - Cada tupla tiene 100 bytes de longitud. - El campo COD tiene 9 bytes de longitud. - El campo Depto tiene 4 bytes de longitud. - El campo Nombre tiene 15 bytes de longitud. - El campo Apellido tiene 15 bytes de longitud.

- 100 tuplas.

- Cada tupla tiene 35 bytes de longitud.


- El campo NombreDpto tiene 10 bytes de longitud - El campo NDpto tiene 4 bytes de longitud.

- El campo Responsable tiene 9 bytes de longitud.


- El campo Edificio tiene 11 bytes de longitud.

Supondremos que no existe ningn tipo de fragmentacin. El

tamao

de

la

relacin

EMPLEADO es 100 * 10,000 = 106 bytes y el tamao de la relacin DEPARTAMENTO es 35 * 100 = 3,500 bytes. Consideremos la consulta Por cada empleado, obtener el nombre del empleado y el nombre del departamento al que pertenece. La expresin de sta consulta en lgebra relacional ser: Q: Nombre,Apellido,NombreDPto (EMPLEADO * DEPARTAMENTO)

S-ar putea să vă placă și