Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com um problema devido ao número de registros nas tabelas do banco de dados,
SELECT USuario,Inicio,Entrada,Saida,Parada,SUM(Entrada),SUM(Saida),SUM(Tempo) FROM utilizacao WHERE Inicio BETWEEN '$datainicial' AND '$datafinal' AND computador='$computador' GROUP BY Usuario ORDER BY SUM(saida) DESC
e o valor só é retornado depois de mais de 5 ou 10 minutos,
testei a tabela como MyIsam e depois como InnoDb, MyIsam foi mais rapido
alguem poderia me dar alguma dica para esas query?
obrigado
Coloque a engine da tabela como MyISAM, caso você não precise de chaves estranegiras, transações e outros recursos que MyISAM não dispõe.
Realmente MyISAM é mais rápida que InnoDB, entretando, pelo que eu sei, InnoDB leva uma vantagem com grandes quantidades de dados.
Eu não sei qual o propósito da sua consulta, vamos supor que esteja correta a forma com que você está fazendo.
Então te pergunto, existe algum índice, nessa tabela?
Se não existir, experimente criar os seguintes:
índice do campo INICIO e COMPUTADOR (os dois campos no mesmo índice)
índice do campo USUARIO
índice do campo SAIDA
experimente e teste um de cada vez e juntos para ver se ajuda na performance.
Lembrando que os tipos de dados podem influenciar na performance também.