Академический Документы
Профессиональный Документы
Культура Документы
FABIANO MOTTA GOMES SISTEMAS DE INFORMAO 8 SIAN ORIENTADORA PROFa ELAINI SIMONI ANGELOTTI
1
Introduo
Proposta de recurso tecnolgico para desenvolvedores de aplicativos, estudantes e organizaes Qualquer empresa de pequeno, mdio ou grande porte necessita de um sistema de banco de dados Otimizao de consultas melhora o desempenho dos sistemas de banco de dados Estudo comparativo entre SGBDs
Objetivos do projeto
Apresentar formas Otimizadas de Implementao de Consultas SQL Promover uma Anlise de Desempenho de consultas SQL para o SGBD MySQL e comparar o resultado com os resultados obtidos usando o SGBD SQL Server
Objetivos Especficos
Compreender os fundamentos de banco de Dados e Linguagem SQL Apresentar a linguagem SQL utilizada na consulta Implementar consultas SQL para demonstrar a otimizao de consultas
4
Objetivos Especficos
Descrever as tcnicas de otimizao empregadas Demonstrar a execuo e monitoramento das consultas nos dois SGBDs proposto Apresentar um comparativo analisando o desempenho das consultas nos SGBDs utilizados
5
Justificativa
Melhorar a produtividade e no prejudicar o desempenho operacional dos sistemas Evitar gastos com troca de SW e HW Comparao entre os SGBDs MySQL e SQL Server poder servir como base para pessoas interessadas na utilizao de BD
6
Metodologia da Pesquisa
Levantamento das fontes bibliogrficas Leitura e estudo das fontes e embasamento terico do projeto Ambiente de Implementao, computador com processador Celeron 2.4 ghz, 512 mb de RAM, aplicao local
7
Metodologia do Desenvolvimento
Definio do banco de dados baseado no banco de dados exemplo Pubs Seleo dos Mtodos de Aprimoramento Implementao, execuo e monitoramento das consultas SQL nos SGBDs MySQL 5.0 e SQL Server 2000 Ferramentas de Monitoramento de Consultas Testes de Desempenho de Consultas SQL nos SGBDs MySQL 5.0 e SQL Server 2000
8
Clausula Where Select * Clausula Sargable ndice Setorizado ndice No Setorizado Indice de Cobertura Clausula Order By Ordem dos Atributos no Indice
9
Ordem das Tabelas na juno Condio mais Restritiva numa Juno Predicado IN X Operador OR Clausula Group By Clausula Having Seleo da Estrategia de Juno Usando Not Equals (!=) Consultando Valores Null
10
Join X Subconsultas Join X Subconsultas Correlacionadas com Exixts X com In Anti Join com Not In ou Not Exists X Left Outer Join
11
A Validao dos Mtodos de Aprimoramento de consultas visa a verificao da eficcia ou no destes mtodos utilizando as ferramentas de monitoramento de MySQL A Analise de Desempenho de Consultas verifica como o MySQL executa consultas SQL atravs dos planos de execuo de consultas escolhidos pelo otimizador e dos tempos de retorno das consultas
12
Resultado da 1 Analise
Clausula Where: diferena do tempo de resposta usando a Clausula Where: 178 ms Select * diferena do tempo de resposta especificando os atributos a serem retornados: 152 ms
AUTOR
TCNICA
APROVEITAMENTO
Resultado da 1 Analise
Clausula Sargable: diferena do tempo de resposta usando a Clausula Sargable: 127 ms Indice Setorizado diferena do tempo de resposta usando indice setorizado: 491 ms
AUTOR
TCNICA
APROVEITAMENTO
Sim Sim
14
Resultado da 1 Analise
Indice No Setorizado diferena do tempo de resposta usando indice nao setorizado: 572 ms Indice de Cobertura diferena do tempo de resposta usando indice de cobertura: 20716 ms e 488 ms
AUTOR
TCNICA
APROVEITAMENTO
Sim Sim
15
Resultado da 1 Analise
Clausula Order By: diferena do tempo de resposta usando Clausula Order By : 145 ms Ordem dos Atributos no Indice diferena do tempo de resposta usando os sobrenome e nome: 476 ms e 0,67 ms
AUTOR
TCNICA
APROVEITAMENTO
Order By
Sim
Resultado da 1 Analise
Ordem das Tabelas na Juno diferena do tempo de resposta mudando a ordem das tabelas na juno: 0 ms Condio Mais Restritiva na Juno diferena do tempo de resposta usando condio mais restritiva: 1ms
TCNICA
APROVEITAMENTO
Resultado da 1 Analise
Predicado In X Operador Or: diferena do tempo de resposta usando operador IN: 24 ms Clausula Group By diferena do tempo de resposta usando Clausula Group By: 34 ms
TCNICA IN x OR Group By
Resultado da 1 Analise
Clausula Having diferena do tempo de resposta usando Clausula Having: 46 ms Seleo da Estrategia de Juno
AUTOR
TCNICA
APROVEITAMENTO
Sim No
19
Resultado da 1 Analise
Usando Not Equals (!=) diferena do tempo de resposta usando force index: 3 ms e 1ms Consultando Valores Null
APROVEITAMENTO
No No
20
Resultado da 1 Analise
Join X Subconsultas: diferena do tempo de resposta usando join: 1119 ms Join X Subconsulta com Exists X com In diferena do tempo de resposta usando join: 52 ms e 25ms
APROVEITAMENTO Sim
Resultado da 1 Analise
Anti Join com Not In ou Not Exists X Left Outer Join diferena do tempo de resposta usando Left Outer Join: 42 ms e 34 ms
TCNICA
APROVEITAMENTO
AUTOR
22
A comparao do desempenho dos SGBDs MySQL 5.0 e SQL Server 2000, visa analisar como os dois SGBDs relacionais executam consultas alm de verificar se o desempenho de uma consulta pode ou no ser influenciada pelo SGBD utilizado.
23
Resultado da 2 Analise
Clausula Where: diferena do tempo de resposta usando SQL Server: 112 ms e 39 ms Select * diferena do tempo de resposta usando SQL Server: 65 ms e 27 ms
* X
Esp. Atrib. X
24
Resultado da 2 Analise
Clausula Sargable: diferena do tempo de resposta usando SQL Server: : 63 ms e 41 ms Indice Setorizado diferena do tempo de resposta usando SQL Server: 573 ms e 119ms
Sem IS X
IS X
25
Resultado da 2 Analise
Indice No Setorizado diferena do tempo de resposta usando SQL Server: 460ms e 21ms Indice de Cobertura diferena do tempo de resposta usando SQL Server: 20325ms e 25ms
Sem InS X
InS X
Sem IC X
IC X
26
Resultado da 2 Analise
Clausula Order By: diferena do tempo de resposta usando SQL Server: 227 ms e 116 ms Ordem dos Atributos no Indice diferena do tempo de resposta usando SQL Server: 546 ms e 19 ms e 19 ms
N X
S X
SeN X
27
Resultado da 2 Analise
Ordem das Tabelas na Juno diferena do tempo de resposta usando SQL Server: 77ms e 77ms Condio Mais Restritiva na Juno diferena do tempo de resposta usando SQL Server: 58ms e 59ms
Maior T. Menor T. X X
Mais X
Menos X
28
Resultado da 2 Analise
Predicado In X Operador Or: diferena do tempo de resposta usando SQL Server: 472ms e 434ms Clausula Group By diferena do tempo de resposta usando SQL Server: 130ms e 118ms
OR IN X X
29
Resultado da 2 Analise
Clausula Having diferena do tempo de resposta usando SQL Server: 132ms e 115ms Join X Subconsulta com Exists X com In diferena do tempo de resposta usando SQL Server: 136ms e 108ms e 49ms
Exists In Join X X X
30
Concluso
Verificao dos Metodos de Aprimoramento Influenciar escolhas Implementadores dos Sgbds Diferenas nas Arquiteturas
31
PERGUNTAS ??????????????
32