🏠 Strona Główna
Benchmarki
📊 Wszystkie benchmarki 🦖 Dinozaur v1 🦖 Dinozaur v2 ✅ Aplikacje To-Do List 🎨 Kreatywne wolne strony 🎯 FSACB - Ostateczny pokaz 🌍 Benchmark tłumaczeń
Modele
🏆 Top 10 modeli 🆓 Darmowe modele 📋 Wszystkie modele ⚙️ Kilo Code
Zasoby
💬 Biblioteka promptów 📖 Słownik AI 🔗 Przydatne linki
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;