Ir para conteúdo

POWERED BY:

Arquivado

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

porao

[Resolvido] Indices

Recommended Posts

Ola pessoal, tenho uma consulta muito grande para fazer em tabelas interligadas com joins.

 

entao nesta consulta utilizei o comando EXPLAIN.

Entao neste explain apareceu em possible keys 3 opçoes, e em extra apareceu "Using where; Using filesort"

 

 

Gostaria de uam ajuda na interpretação do explain, oq seria os POSSIBLE_KEYS? Sao indices que eu deveria adicionar à tabela?

O que significa o extra? (Using where; Using filesort)

 

 

desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em inglês (versão 5.1):

http://dev.mysql.com/doc/refman/5.1/en/using-explain.html

 

Em português (versão 4.1):

http://dev.mysql.com/doc/refman/4.1/pt/explain.html

 

Apesar das versões diferentes, o comportamento deve ser o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta!

 

Estou lendo o manual, muito interessante.

Mas tem uma informaçao que eu nao encontrei.

Quando aparece: "Using filesort" oq eu posso fazer para melhorar e qual o caminho para que isso nao aparece?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente o Using filesort esta aparecendo porque você deve estar fazendo uma consulta ordenada (order by).

 

Dicas sobre Using filesort você encontra aqui:

http://dev.mysql.com/doc/refman/4.1/pt/order-by-optimization.html

 

Obs.: Se estiver usando versões superiores a 4.1 (que é bastante antiga), aconselha-se que faça uso das páginas de manuais específicas, ou mais próxima, a sua versão. Digo isto pq podem haver melhorias que nas páginas mais recentes podem ser comentadas. Para isso é interessante conhecer um pouco de inglês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, eu uso a versao do mysql mais atual: 5.0.51a-24+lenny2

 

Entendi, realmentre estou usando o ORDER BY.

 

E o "Using Where"? é prejudicial quando aparece? como melhorar? Ou so aparece pq estou usando o Where?

Compartilhar este post


Link para o post
Compartilhar em outros sites

5.0.51a-24+lenny2

 

na verdade você tah usando a versao mais atual dos repositorios do DEBIAN

 

possible keys indica quantas index o mysql pode usar pra chegar as linhas q você pediu

Compartilhar este post


Link para o post
Compartilhar em outros sites

5.0.51a-24+lenny2

 

na verdade você tah usando a versao mais atual dos repositorios do DEBIAN

 

possible keys indica quantas index o mysql pode usar pra chegar as linhas q você pediu

Ahhh, entendi, mas entao significa que eu nao preciso indexar tudo oq aparece ali no "possible keys", usando uma delas ja esta bom para uma consulta especifica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, pq quando você pede uma consulta qualquer o banco analisa a query e gera um plano de açao, banco vagabundos tem plano de açao ruim, bancos bons (como oracle ou DB2) fazem excelentes planos de açao, o plano de açao eh como o banco vai chegar as linhas q você pediu, no caso possible key = 3 quer dizer q existem no minimo 3 jeitos de chegar a mesma conclusao mantida a mesma logica

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.