Como deixar essa Query mais ágil?
E aí pessoal, blza?!
Estou tendo problema de lentidão (e muita) com a query MySQL abaixo. Estou programando em PHP. Não sei o que está acontecendo e resolvi compartilhar aqui com vocês para saber como resolver.
Trata-se de um sistema de alimentação de frequência escolar. A Query lista todos os alunos cadastrados em uma turma de um curso específico, no qual só são exibidos os alunos que estão com o seu contrato dentro da vigência. Há consultas de checagem dos dados entre 5 tabelas.
Agradeço desde já!
Estou tendo problema de lentidão (e muita) com a query MySQL abaixo. Estou programando em PHP. Não sei o que está acontecendo e resolvi compartilhar aqui com vocês para saber como resolver.
Trata-se de um sistema de alimentação de frequência escolar. A Query lista todos os alunos cadastrados em uma turma de um curso específico, no qual só são exibidos os alunos que estão com o seu contrato dentro da vigência. Há consultas de checagem dos dados entre 5 tabelas.
SELECT a.alu_id, a.alu_nome, mt.freq_id_aluno, mt.freq_id_curso, mt.freq_id_turma, mt.freq_id_empresa, da.da_data_aula, c.curso_tipo_turma, ca.ctt_alu_dt_ini, ca.ctt_alu_dt_fim FROM montar_turma mt, data_aula da, contrato_aluno ca, alunos a, curso c WHERE mt.freq_id_aluno = a.alu_id AND mt.freq_id_curso = idCurso AND mt.freq_id_turma = idTurma AND da.da_data_aula = dataAula AND c.curso_tipo_turma = tipoTurma AND dataAula BETWEEN ca.ctt_alu_dt_ini AND ca.ctt_alu_dt_fim AND mt.freq_id_aluno NOT IN (SELECT freq_id_aluno FROM frequencia_master WHERE freq_data_aula = dataAula AND freq_id_data_aula = idDA AND freq_id_curso = idCurso AND freq_id_turma = idTurma) GROUP BY mt.freq_id_aluno ORDER BY a.alu_nome ASC
Agradeço desde já!
Myller Meireles
Curtidas 0
Melhor post
Myller Meireles
08/03/2020
Olá, caso você chegou aqui com a intenção de me ajudar! À você, o meu muito obrigado!
Depois de analisar melhor e testar meu código, constatei que o problema da lentidão estava nas linhas 6 e 18 da query. O campo é do tipo string (não sei se isso tem a ver com o problema), e quando tirei da query funcionou muito rápido, como deveria ser.
Obrigado!
Depois de analisar melhor e testar meu código, constatei que o problema da lentidão estava nas linhas 6 e 18 da query. O campo é do tipo string (não sei se isso tem a ver com o problema), e quando tirei da query funcionou muito rápido, como deveria ser.
Obrigado!
GOSTEI 1