Optimización Bases de datos

Páginas: 5 (1135 palabras) Publicado: 10 de febrero de 2014


TERCER ENTREGABLE BASES DE DATOS II











Universidad Nacional de Colombia
Medellín
2013









1.)










PRUEBA 1. Modelo relacional convencional
Tablas:

CREATE TABLE factura (consfactNUMBER(10) PRIMARY KEY,
fecha DATE,
codvendedor NUMBER(10),
cedcliente NUMBER(12));


CREATE TABLE detalle (codprodNUMBER(10) PRIMARY KEY,cantidad NUMBER(10),
precioventauni NUMBER(10),
codfactura NUMBER(10),
CONSTRAINT fk_consfact FOREIGN KEY(codfactura) REFERENCES factura(consfact));

Consulta Base:

SELECT a.consfact, a.fecha, a.codvendedor, a.cedcliente,
b.codprod, b.cantidad, b.precioventauni
FROM factura a, detalle b WHERE a.consfact=b.codfactura;


Sean M y N el número de filas de las tablas factura y detallerespectivamente.
El número de filas M será el número de muestras y N equivaldrá a (M * M/2); es decir que si tenemos 50 muestras entonces el resultado del JOIN estará dado por la cantidad N de filas donde N = (50 * 25) = 1250 filas.




20 muestras. JOIN = 200 filas

HASH JOIN
ID
Operación
Nombre
Filas
Bytes
Costo(CPU)
Tiempo
0
SELECT STATEMENT

2000
82000
7(15)
00:00:01
*1HASH JOIN

2000
82000
7(15)
00:00:01
2
TABLE ACCESS FULL
Factura
50
1200
2(0)
00:00:01
3
TABLE ACCESS FULL
Detalle
2000
34000
4(0)
00:00:01
1 - access("A"."CONSFACT"="B"."CODFACTURA")



MERGE JOIN/*+ USE_MERGE(a,b)*/
ID
Operación
Nombre
Filas
Bytes
Costo(CPU)
Tiempo
0
SELECT STATEMENT

2000
82000
7(15)
00:00:01
1
MERGE JOIN

2000
82000
7(15)
00:00:01
2TABLE BY INDEX ROWID
Factura
50
1200
2(0)
00:00:01
3
INDEX FULL SCAN
SYS_C007077
50

1(0)
00:00:01
4
SORT JOIN

2000
34000
5(20)
00:00:01
5
TABLE ACCESS FULL
Detalle
2000
34000
4(0)
00:00:01
4 - access("A"."CONSFACT"="B"."CODFACTURA") filter("A"."CONSFACT"="B"."CODFACTURA")



NESTED LOOPS/*+ USE_NL(a,b)*/
ID
Operación
Nombre
Filas
Bytes
Costo(CPU)Tiempo
0
SELECT STATEMENT

2000
82000
100(1)
00:00:02
1
NESTED LOOPS

2000
82000
100(1)
00:00:02
2
TABLE ACCESS FULL
Factura
50
1200
2(0)
00:00:01
*3
TABLE ACCESS FULL
Detalle
40
680
2(0)
00:00:01
3 - filter("A"."CONSFACT"="B"."CODFACTURA")

Salida TKPROFdespues de reiniciar BD para liberar Buffers

call count cpu elapsed disk querycurrent rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 15 0.03 0.24 1647 1664 0 200
------- ------ -------- -------------------- ---------- ---------- ----------
total 17 0.03 0.24 1647 1664 0 200
Rows (1st) Rows (avg) Rows (max) Row Source Operation
---------- ---------- ---------- ---------------------------------------------------
200 200 200 HASH JOIN (cr=1664 pr=1647 pw=0 time=239766 us cost=7 size=82000 card=2000)
20 2020 TABLE ACCESS FULL FACTURA (cr=6 pr=6 pw=0 time=4313 us cost=2 size=1200 card=50)
200 200 200 TABLE ACCESS FULL DETALLE (cr=1658 pr=1641 pw=0 time=234670 us cost=4 size=34000 card=2000)




100 muestras. JOIN = 5000 filas

HASH JOIN
ID
Operación
Nombre
Filas
Bytes
Costo(CPU)
Tiempo
0
SELECT STATEMENT

2000
82000
7(15)
00:00:01
*1
HASH JOIN

200082000
7(15)
00:00:01
2
TABLE ACCESS FULL
Factura
50
1200
2(0)
00:00:01
3
TABLE ACCESS FULL
Detalle
2000
34000
4(0)
00:00:01
1 - access("A"."CONSFACT"="B"."CODFACTURA")

MERGE JOIN /*+ USE_MERGE(a,b)*/
ID
Operación
Nombre
Filas
Bytes
Costo(CPU)
Tiempo
0
SELECT STATEMENT

2000
82000
7(15)
00:00:01
1
MERGE JOIN

2000
82000
7(15)
00:00:01
2
TABLE BY INDEX ROWID...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Optimizacion De Bases De Datos
  • Bases de datos optimizacion
  • Optimización de bases de datos
  • BASE DE DATOS , base de datos
  • Bases de datos y usuarios de bases de datos
  • Que es una base de datos y tipos de base de datos
  • Base De Datos
  • Base De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS