gbdtarea1

Upload: shabedekam

Post on 31-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 GBDTarea1

    1/2

    Universidad Nacional del AltiplanoCARRERA PROFESIONAL INGENIERA DE SISTEMAS

    Gestin de Bases de DatosTarea 1: ndices en Bases de Datos.

    Profesor: Oliver Amadeo Vilca Huayta

    Fecha de Entrega: Enero 24.

    Anlisis de desempeo de ndices en Bases de Datos (anlisis emprico del tiempo de ejecucinde consultas SQL).

    1. Costo de Insercin y Consultas sin ndices.

    Las pruebas se efectuarn con los siguientes valores de N: 500, 1000, 2500, 5000, 7500y 10000 (en las inserciones y consultas).

    Cada insercin masiva o consulta se debe repetir 20 veces para obtener un promedio.

    A) INSERCIN. Dadas las tablas A, B, C y D, insertar masivamente tuplas a partirde un archivo (por ejemplo de: archivo.txt) que contiene datos generados aleatria-mente. Para la insercin puede emplear el comando: [nCOPY nombretabla FROMarchivo.txt USING DELIMITERS j] cada lnea del archivo fuente es una tupla, loscampos estn separados por j.

    Calcular el tiempo que demora insertar N tuplas en cada tabla T, esto consultando eltiempo del sistema antes y despus de la insercin masiva (en general en cada pruebase miden los tiempos).

    Elabore un grco: "Costo de Insercin sin ndice", donde en el eje de las abscisas(X) se registra el nmero "N" de tuplas insertadas y en el eje de las ordenadas (Y)

    el correspondiente tiempo consumido de cada insercin N. Un grco para cada tabla.(en general utilize el mismo formato de grcos para las consultas e inserciones).

    B) CONSULTA. Para cada tabla T se debe calcular el "Costo de consulta sin ndice",la seleccin se hace sobre el campo clave, del mismo modo que las inserciones se mideel tiempo que demora las consultas en las tablas. Los datos se gracan. Ejemplo deconsultas:

    SELECT count(*) FROM usuario WHERE usuario.cod_usuario = 5678901234;SELECT count(*) FROM usuario WHEREusuario.cod_usuario < 5678902000 AND usuario.cod_usuario > 5678901000;

    2. Costo de Insercin y Consultas con ndices.

    Se efectan los mismos procedimientos que en (1), salvo que en esta seccin se debe in-dexar sobre el atributo por el que se aplica la consulta (generalmente es el atributo claveejemplo: "cod_usuario"). para crear ndice B-tree o Hash emplee respectivamente lassiguientes instrucciones:

    CREATE INDEX usuariob ON usuario(COD_USUARIO);CREATE INDEX usuarioh ON usuario USING HASH(COD_USUARIO);

    1

  • 8/14/2019 GBDTarea1

    2/2

    Las pruebas y grcos se hacen separadamente para cada tipo de ndice (B-tree yHash) No olvide borrar el ndice para la siguiente prueba. Se obtendrn los siguientesresultados:

    Costo de Insercin con ndice B-tree.

    Costo de Insercin con ndice Hash.

    Costo de Consulta con ndice B-tree.

    Costo de Consulta con ndice Hash.3. Costo de Consulta Anidada.

    En este caso se debe llegar a estos resultados:

    Costo de Consulta con Joins utilizando ndices B-tree.

    Costo de Consulta con Joins utilizando ndices Hash.

    4. Conclusiones.

    En base a los resultados inera conclusiones (el tiempo en las inserciones y consultas).Puede elaborara grcos comparativos (sin ndice, B-tree, Hash).

    Comparacin de los Costos de Consulta N 1.

    [Tupla: "usuarios"]

    0

    10

    20

    30

    40

    50

    60

    70

    80

    500 1000 2500 5000 7500 10000

    Nmero de Registros

    Tiem

    po

    Consulta con Indice Y Consulta con Indice X Consulta sin ndices

    Ejemplo: Comparacin de los Costos de Consulta.

    5. Referencia PostgreSql en: http://www.commandprompt.com/ppbook.

    2