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 em uma consulta no bd cujo tem um total de 2078456 registros,o que eu preciso é o seguinte,verificar se um usuário possui um único dado,porem quando eu faço essa consulta,o tempo para resposta está sendo de 0.7118 segundos,como eu posso estar melhorando esse tempo de resposta,pois quando vou ativar na página,leva em média 1,14 segundos para abrir,e isso incomoda muito.
SELECT COUNT(id) FROM `teste_usuario` WHERE id_usuario = '1' AND id_peça = '58' AND metodo_compra = '1';
Obrigado!>
18 minutos atrás, Sergio S. F. Pereira disse:
experimenta colocar um "ORDER BY id_usuario ASC" no final da sua query pra ver se melhora
Não melhorou não,ficou praticamente mesma coisa 0.7294 segundos.
Recomendo colocar um servidor dedicado com uma capacidade de processamento maior.
As colunas que você está pesquisando não devem estar indexadas, por isso não deu diferença nenhuma, tente criar um índice para id_usuário e outro para id_peca.
Outra alternativa se você armazena tudo numa mesma tabela por exemplo o nome do usuário e o nome da peca, ou outras situações onde você utiliza campos varchar, seria criar tabelas separadas para estes campos varchar e colocar somente o id, daí você faz a consulta com o join pra recuperar estes dados, deixando o volume de dados menor na tabela principal e otimizando as consultas.
>
Em 2017-6-17 at 15:47, Sergio S. F. Pereira disse:
As colunas que você está pesquisando não devem estar indexadas, por isso não deu diferença nenhuma, tente criar um índice para id_usuário e outro para id_peca.
Outra alternativa se você armazena tudo numa mesma tabela por exemplo o nome do usuário e o nome da peca, ou outras situações onde você utiliza campos varchar, seria criar tabelas separadas para estes campos varchar e colocar somente o id, daí você faz a consulta com o join pra recuperar estes dados, deixando o volume de dados menor na tabela principal e otimizando as consultas.
Desculpe a demora em responder,porém ajudou muito em fazer o que você disse,a consulta chegou agora em ficar por exemplo em 0.0086 segundos,uma consulta por exemplo de todos os dados do usuário ficou por exemplo em 0.0008 segundos,o que demorava muito mais do que isso,obrigado mesmo,ajudou bastante mesmo.
experimenta colocar um "ORDER BY id_usuario ASC" no final da sua query pra ver se melhora