Laboratorio de optimización de BD

Slides:



Advertisements
Presentaciones similares
Consultas en Visual FoxPro
Advertisements

Diseño de Bases de Datos
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
integridad referencial
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Acceso a bases de datos MySQL en PHP
EXPLAIN PLAN ¿Cómo obtener el EXPLAIN PLAN?
Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de p erformance Ing. Alfonso Vicente, PMP
Aprendizaje de Microsoft® Access® 2010
OPTIMIZACIÓN DEL RENDIMIENTO
SQL G r u p o
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Administrador de Base de Datos (Microsoft Access)
4.3. Privilegios de usuarios
FORMULARIOS EN ACCES Los formularios sirven para definir pantallas, mostrar y editar los registros de una tabla o consulta. Se puede acceder a todos ellos.
BASE DE DATOS DISTRIBUIDAS
PL/SQL Francisco Moreno Universidad Nacional.
Transacciones (MySQL). Definición: Conjunto de sentencias que se tratan como una sola. Comienzan con BEGIN/START TRANSACTION; Se puede confirmar (COMMIT)
MySQL M.C. Pedro Bello López.
Bases de Datos Relacionales
SQL Básico Prof. Nelliud D. Torres.
COMPUTACIÓN APLICADA FACULTAD DE INGENIERÍA, UAQ Tablas Dinámicas, Macros Ma. Teresa García Ramírez.
D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.
Subconsultas Avanzadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Bases de Datos Oracle Optimización
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
Fundamentos de bases de datos:
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Auditoría del Sistema ¿Qué es una Auditoría de una BD? Controlar y registrar las acciones de determinados usuarios de la BD. A nivel SO vs a nivel del.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Autora: Francisca Montañez Muñoz
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Optimización Francisco Moreno.
LENGUAJE SQL.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
Convertirse en otro Usuario Prof. Juan P. Valdez Diplomado Oracle Unapec – mescyt 2012.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
1 Unidad VI Arquitectura y Componentes de un SGBD.
Lenguaje Estructurado de Consulta
C OLEGIO DE B ACHILLERES N O.13 X OCHIMILCO, T EPEPAN C ARRASCO G ARCÍA L ORENA T ORRES H EREDIA C ARLA P ALMIRA G RUPO : 308 M ATUTINO E QUIPO : 12.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Introducción a la Optimización de Consultas. Francisco Moreno.
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
Google Drive es muy útil a la hora de compartir archivos y documentos entre profesores y alumnos, y a su vez, un aspecto fundamental es que puede ser utilizado.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Utilizar Costo Promedio Ponderado en el Software Administrativo SAW
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
HINTS ¿Cómo afectar el plan de ejecución? Por defecto, el SGBD tomará en cuenta el camino de ejecución (Execution Path) determinado por el optimizador.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Paralelización de operaciones
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Ing. Sanchez Castillo Eddye Arturo Escuela Académica Profesional de Ingeniería de Sistemas.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Transcripción de la presentación:

Laboratorio de optimización de BD Jonathan Medina Gómez Facultad de ingeniería U. De A.

Plan de ejecución ( EXPLAIN PLAN) Cada vez que ejecutamos una sentencia una de las cosas que hace oracle es crear un plan de ejecución de la sentencia. Un plan de ejecución define la forma en que oracle busca o graba los datos. Decide, por ejemplo, si va a usar o no los índices en una sentencia SELECT. Sintaxis EXPLAIN PLAN FOR sentencia;

Para ver el resultado SELECT * FROM PLAN_TABLE START WITH ID = 0 CONNECT BY PRIOR ID=PARENT_ID;

Trazas de ejecución (SQL TRACE) Las trazas de ejecución de oracle sirven para mostrar las sentencias SQL y su plan de ejecución de programas que acceden a bases de datos Oracle. Básicamente, activar la traza de ejecución consiste en ejecutar un procedimiento que tiene predefinido Oracle dentro del paquete DBMS_SYSTEM. El procedimiento tiene la siguiente cabecera: SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION( sid, serial#, TRUE/FALSE );

Trazas de ejecución (SQL TRACE) Podemos obtener estos parámetros: SELECT SID, SERIAL#, MACHINE, TERMINAL, PROGRAM FROM SYS.V_$SESSION WHERE USERNAME = 'usuario'; SID y SERIAL# definen la sesión a la cual queremos hacer con la traza. El tercer parámetro indica si queremos activar/desactivar la traza de ejecución.

Trazas en SQL Plus Otra forma de hacer trazas de ejecución es en SQL*Plus, con la instrucción: SET AUTOTRACE ON/OFF Una vez activada la auto-traza, toda sentencia ejecutada en SQL*Plus vendrá acompañada de su plan y estadísticas de ejecución. Si, además, queremos cronometrar el tiempo de ejecución de cada consulta, podemos activar el cronómetro con: SET TIMING ON

Modos del optimizador Optimizador por reglas (RULE) Se apoya en una información predefinida, donde cada operación tiene un rango de menor a mayor. Escoge la opción de menor rango. Optimizador por costes (CHOOSE) Entre todos los posibles caminos de acceso escoge el de menor costo; para calcular dicho costo se apoya en estadísticas almacenadas en el diccionario de datos (tamaño de las tablas, indices existentes, imagen de los índices, etc). Tambien considera “sugerencias” definidas por quien ejecuta la instruccción.

Tener en cuenta… Para averiguar el estado actual de la base de datos se basa en los datos del catálogo público, por lo que es recomendable que esté lo más actualizado posible (a través de la sentencia ANALYZE), ya que de no ser así, se pueden tomar decisiones a partir de datos desfasados (la tabla tenía 10 registros hace un mes pero ahora tiene 10.000).

Optimizador Hay dos modos de forzar a Oracle a que utilice un optimizador: La primera es modificando la sesión activa para que todas las consultas sean optimizadas de una manera: ALTER SESSION SET OPTIMIZER_GOAL = [RULE|CHOOSE]; La otra manera es forzando a Oracle a que utilice un optimizador en una consulta concreta. Esto se hace a través de los “hints” o sugerencias.

Sugerencias al optimizador (HINTS) Los hints son parámetros que pasamos a las sentencias SQL para influir en el optimizador de oracle. Hay que tener en cuenta que: si no es posible efectuar lo que se indica con el hint, Oracle lo ignorará, los Hints fuerzan el uso del Optimizador por costes (a excepción de rule) no afectan a subconsultas en la misma sentencia SQL. SELECT /*+ HINT */ . . .

Algunos hints posibles /*+ ALL_ROWS */ Pone la consulta a costes y la optimiza para que consuma el menor número de recursos posibles. /*+ FIRST_ROWS */ Pone la consulta a costes la optimiza para conseguir el mejor tiempo de respuesta. /*+ CHOOSE */ Pone la consulta a costes. /*+ RULE */ Pone la consulta a reglas. /*+ INDEX( tabla índice ) */ Fuerza la utilización del índice indicado para la tabla indicada /*+ ORDERED */ Hace que las combinaciones de las tablas se hagan en el mismo orden en que aparecen en el join.