O banco de dados de sua empresa apresenta lentidão no seu desempenho. Você é analista e responsável por melhorar a performance do acesso e das consultas. Observe as informações:
Tabela VendasProdutoValorVendedorDataTV LED
Smart 43”2.350,00João2017-03-20Refrigerante
350L1.670,00Maria2017-03-18Celular 5.5” QuadCore960,00Pedro2017-03-18Máquina
Lava/seca roupas2.330,00João2017-03-15MacBook Air 13.3”6.450,00Maria2017-03-12Home Theater Bluetooth 7.1850,00Pedro2017-03-10
ModelagemProdutoTextValorDoubleVendedorTextDataTimestamp
Consulta das 3 maiores vendas
SELECT*FROM Vendas
ORDER BY Valor DESC
Baseado nas tabelas, identifique os erros e mostre como você faria a otimização da modelagem da tabela, tipagem dos dados e das consultas. Apresente os dados da tabela e o código SQL da consulta. Justifique as suas escolhas.
Padrão de resposta esperado
Foram encontrados vários erros que prejudicam a performance do servidor de banco de dados:
- A Tabela de Vendas não apresenta a coluna ID_Vendas para indexação da tabela.
- A Modelagem apresenta erros na tipagem dos dados de todas as colunas.
- Produto → Deve ser usada a tipagem VarChar(100), ao invés de Text (por ser uma informação muito curta).
- Valor → Deve ser usada a tipagem Float, ao invés de Double (porque ocupa metade da memória).
- Vendedor → Deve ser usada a tipagem VarChar(20), ao invés de Text (por ser uma informação muito curta).
- Data → Deve ser usada a tipagem Date, ao invés de Timestamp (por ocupar menos memória).
Quanto à consulta, ela também apresenta lentidão no tempo de resposta, já que todas as colunas e todos os registros são selecionados. No caso de milhões de registros, o sistema ficaria extremamente lento, já que o objetivo é apenas as 3 maiores vendas.
O SQL Código ideal para consulta seria assim:
SELECT ID_vendas, Produto, Valor, Vendedor, Data
FROM Vendas
ORDER BY Valor LIMIT 3.
Para escrever sua resposta aqui, entre ou crie uma conta.
Manutenção e Otimização em Banco de Dados
•ENIAC
Manutenção e Otimização em Banco de Dados
•ESTÁCIO
Manutenção e Otimização em Banco de Dados
Compartilhar