alissonxx 0 Denunciar post Postado Agosto 17, 2009 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 Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Renan 2 Denunciar post Postado Agosto 18, 2009 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. Compartilhar este post Link para o post Compartilhar em outros sites