🏠 Home
Prestatietests
📊 Alle benchmarks 🦖 Dinosaur v1 🦖 Dinosaur v2 ✅ To-Do List applicaties 🎨 Creatieve vrije pagina's 🎯 FSACB - Ultieme showcase 🌍 Vertaalbenchmark
Modellen
🏆 Top 10 modellen 🆓 Gratis modellen 📋 Alle modellen ⚙️ Kilo Code
Bronnen
💬 Promptbibliotheek 📖 AI-woordenlijst 🔗 Nuttige links
advanced

Otimização de Consulta SQL com Subqueries Complexas

#sql #banco-de-dados #performance #otimizacao

Otimize uma instrução SQL lenta envolvendo múltiplas junções, subconsultas e agregações.

Você recebeu o seguinte esquema de banco de dados relacional para um sistema de e-commerce: tabelas 'Clientes' (id, nome, cidade_id), 'Pedidos' (id, cliente_id, data, total), 'ItensPedido' (pedido_id, produto_id, quantidade, preco_unitario) e 'Produtos' (id, nome, categoria). A consulta atual abaixo, que visa encontrar os top 10 clientes que mais gastaram em uma categoria específica no último ano, está apresentando tempo de execução excessivo. Escreva uma versão otimizada desta consulta, explique quais índices seriam necessários para garantir a performance e justifique as alterações feitas na lógica de acesso aos dados. Consulta original: SELECT c.nome, SUM(ip.quantidade * ip.preco_unitario) AS total_gasto FROM Clientes c JOIN Pedidos p ON c.id = p.cliente_id JOIN ItensPedido ip ON p.id = ip.pedido_id JOIN Produtos prod ON ip.produto_id = prod.id WHERE prod.categoria = 'Eletrônicos' AND p.data >= DATE_SUB(NOW(), INTERVAL 1 YEAR) GROUP BY c.id ORDER BY total_gasto DESC LIMIT 10;