Sunteți pe pagina 1din 5

 

Facultad de Ingeniería en Sistemas, Electrónica e Industrial 
 
 
 
 
 
Fragmentación en Oracle 
Título:                        ​  
 
 
Carrera: Ing. Sistemas   
 
 
 
 
Ciclo Académico y Paralelo: Octavo 

 
Alumnos participantes: Lopez Jaime
 
 
 
 
Módulo y Docente: Administración de Base de Datos ​
➔  
Ing. Renato Urvina.  
 
 
 
 
 
 
 
1. Crear 2 tablas con la siguiente estructura  
 

 
 
*La tabla “particionada”, con una partición hash de 10  
 
2. Llenar con 1 millón de registros y tomar los tiempos requeridos en cada caso  
3.  Realizar  un  update  a  toda  la  tabla  sumando  10  al  campo  llave,  y  tomar  los  tiempos 
requeridos en cada caso 
 4. Realizar un vaciado de la tabla, y tomar los tiempos requeridos en cada caso.  
 
 
  REGISTROS  INSERT  UPDATE  DELETE 

TAB. NORMAL  1 MILLÓN  262  MÁS DE 1 HORA  92 

TAB.  1 MILLÓN  228  ERROR  82 


FRAGMENTADA 
 
 
 
TABLA NORMAL  CAPTURAS 

INSERT 

 
UPDATE 

DELETE 

 
 
 
 
 
 
 
 
TABLA  CAPTURAS 
FRAGMENTADA 

INSERT 

UPDATE 

DELETE 

 
 
 
CÓDIGO SQL 
 
CREACIÓN DE TABLAS 
 
create table normal 

llave int, 
longitud varchar(10) 
); 
 
 
 
create table fragmentada 

llave int, 
longitud varchar(10) 

PARTITION BY HASH(llave) PARTITIONS 10; 
 
 
PROCEDIMIENTOS ALMACENADOS 
 
 
 
CREATE OR REPLACE PROCEDURE pfracInsFrac 
 AS  
BEGIN  
  FOR i IN 1 .. 1000000 LOOP  
INSERT INTO fragmentada (llave, longitud)   
   VALUES (i, 'Dato ');  
  END LOOP;   
 COMMIT;  
END;  

 
 
 
CREATE OR REPLACE PROCEDURE pfracmentacion  
AS  
BEGIN  
  FOR i IN 1 .. 1000000 LOOP  
    INSERT INTO normal (llave, longitud)  
   VALUES (i, 'Dato ');  
  END LOOP;  
  COMMIT;  
END;  

 
 
 
 
 
CREATE OR REPLACE PROCEDURE 
 pfraNorUpdate  
AS  
BEGIN  
FOR i IN 1 .. 1000000 LOOP  
  update normal  
set llave=llave+10 
where llave=i; 
  END LOOP;  
COMMIT; 
END; 

 
 
 
CREATE OR REPLACE PROCEDURE  
pfraFracUpdate  
AS  
BEGIN  
  FOR i IN 1 .. 1000000 LOOP  
    update fragmentada  
    set llave=llave+10 
where llave=i;  
  END LOOP;  
 COMMIT;  
END;  

 
 
 
 
 

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