SELECT Carta.titulo, COUNT(comentarios.id)
FROM Carta
JOIN Comentarios ON Carta.Id = Comentarios.PostID
GROUP BY Carta.Titulo
Essa consulta já parece ser muito simples para ser otimizada. O que consigo ver é adicionar uma paginação ou alguma clausula no WHERE
para limitar os resultados com base em algum critério que faça sentido negocialmente.
Sim suponha milhares e milhares de linhas nas Tabelas, como eu faria?
Como eu criaria essas limitações?
Se não for possível filtrar o resultado usando alguma condição no WHERE
, só consigo pensar em paginação mesmo. Mas caso vc precise recuperar tudo assim de uma vez, paginação talvez não seja uma boa ideia tb.
Qual o banco de dados vc está usando?
mysql
Quanto tempo essa consulta está demorando para executar?
Vc vai usar essa consulta onde? algum sistema? procedure?
Na verdade é um desafio, uma questão, sou estudante, tenti muito mais não consegui
A pergunta é: Quais tecnicas vc usaria para otimizar a consulta?
Olha, nesse caso, dá para citar, paginação, utilização de condições no WHERE
, criação de índices.
Achei essa lista nas docs do mysql de otimizações que podem ser feitas:
https://dev.mysql.com/doc/refman/8.0/en/select-optimization.html
Muito Obrigado Lucas, vou analisar a documentação