Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hulkstar

Problema com SELECT

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo colocar um servidor dedicado com uma capacidade de processamento maior.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.