porao 0 Denunciar post Postado Outubro 15, 2009 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
Prog 183 Denunciar post Postado Outubro 15, 2009 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
porao 0 Denunciar post Postado Outubro 15, 2009 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
Prog 183 Denunciar post Postado Outubro 15, 2009 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
porao 0 Denunciar post Postado Outubro 15, 2009 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
giesta 29 Denunciar post Postado Outubro 15, 2009 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
porao 0 Denunciar post Postado Outubro 15, 2009 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
giesta 29 Denunciar post Postado Outubro 16, 2009 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
porao 0 Denunciar post Postado Outubro 17, 2009 Obrigado ! Compartilhar este post Link para o post Compartilhar em outros sites