Estou começando agora com MySQL, antes trabalhava com Access. Preciso de uma ajudinha básica...
Tenho a consulta SQL abaixo, que me retorna uma lista dos clientes e o número de pedidos que já foram feitos por cada um.
A tabela de clientes tem aprox. 6 mil registros, e a tabela de pedidos tem quase 10 mil... essa consulta funcionava rapidinho no Access, mas no MySQL está demorando quase 1 minuto!!
SELECT
Clientes.clt_Id,
Clientes.clt_Data,
Clientes.clt_Nome,
Clientes.clt_Email,
COUNT(Pedidos.ped_Id) AS NPeds
FROM
Pedidos RIGHT JOIN Clientes ON Pedidos.ped_ClienteId = Clientes.clt_Id
GROUP BY
clt_Id, clt_Data, clt_Nome, clt_Email
ORDER BY
clt_Data DESC
Se eu troco o "RIGHT JOIN" para "LEFT JOIN" fica bem mais rápido, porém não aparecem os clientes que nunca fizeram pedido.
Alguém poderia me informar o que pode estar ocorrendo pra demorar tanto? Ou o que posso mudar para a consulta ser mais rápida...
Pergunta
Parub@
Olá amigos, boa tarde.
Estou começando agora com MySQL, antes trabalhava com Access. Preciso de uma ajudinha básica...
Tenho a consulta SQL abaixo, que me retorna uma lista dos clientes e o número de pedidos que já foram feitos por cada um.
A tabela de clientes tem aprox. 6 mil registros, e a tabela de pedidos tem quase 10 mil... essa consulta funcionava rapidinho no Access, mas no MySQL está demorando quase 1 minuto!!
Se eu troco o "RIGHT JOIN" para "LEFT JOIN" fica bem mais rápido, porém não aparecem os clientes que nunca fizeram pedido.
Alguém poderia me informar o que pode estar ocorrendo pra demorar tanto? Ou o que posso mudar para a consulta ser mais rápida...
Agradeço deste já!
Abraços,
Parub@
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.