KUROL3 3 Denunciar post Postado Junho 19, 2008 Galera gostaria de saber se é possivel melhorar esse select.... o 2N significa segunda a noite... conforme o dia da semana a variavel é alterada como 2N segunda, 3N terça e assim sucessivamente. SELECT cidade, endereco, sigla, bairro, pais FROM relatorio_online WHERE dia_culto LIKE '2N%' order by rand(), cidade asc limit 9 so lembrando que essa tabela contem mais de 30.000 registros e para retornar os noves registros acima ela verifica em todos. Existe alguma forma para otimizar esse select? Abraço o site é http://www.ccbhinos.com.br Abraço Marco Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Junho 20, 2008 sem mecher na tabela essa coisa ai pode ser acelerada da seguinte forma SELECT cidade, endereco, sigla, bairro, pais FROM relatorio_online WHERE LEFT(dia_culto,2) = '2N' order by rand(), cidade asc limit 9 mechendo na tabela o certo seria usar o dia_culto como date , usar a funçao DATE_FORMAT com o parametro 'W' e colocar um index no dia_culto Bom pra falar mais soh vendo a tabela e sabendo ao que se presta o sistema. Vlw! Compartilhar este post Link para o post Compartilhar em outros sites
KUROL3 3 Denunciar post Postado Junho 20, 2008 não é possivel por data pq esse é um padrão da igreja..... como assim colocar um index no dia de culto? poderia me explicar? Obrigado. Marco Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Junho 21, 2008 padrao mal feito entao.... Index: http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html Compartilhar este post Link para o post Compartilhar em outros sites