🏠 الرئيسية
المقاييس
📊 جميع المقاييس 🦖 ديناصور v1 🦖 ديناصور v2 ✅ تطبيقات قائمة المهام 🎨 صفحات حرة إبداعية 🎯 FSACB - العرض النهائي 🌍 مقياس الترجمة
النماذج
🏆 أفضل 10 نماذج 🆓 نماذج مجانية 📋 جميع النماذج ⚙️ كيلو كود
الموارد
💬 مكتبة الأوامر 📖 قاموس الذكاء الاصطناعي 🔗 روابط مفيدة
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;