JCSPADER 0 Denunciar post Postado Abril 27, 2008 Pessoal, gostaria da ajuda de vocês para otimizar esta consulta: CREATE OR REPLACE VIEW `gvt_view_novoatendimento` AS SELECT gvt_view_dispon.telefone, gvt_view_dispon.armario, gvt_view_dispon.caixa, gvt_view_dispon.disponivel, date_format(gvt_view_dispon.atualizado,'%d/%m/%Y') AS atualizado, gvt_atendimento.codigo, gvt_atendimento.atendente AS atendente, gvt_view_dispon.atendentes FROM gvt_view_dispon LEFT JOIN gvt_atendimento ON gvt_atendimento.cliente = gvt_view_dispon.telefone LEFT JOIN gvt_bloqueio ON gvt_bloqueio.telefone = gvt_view_dispon.telefone WHERE (gvt_bloqueio.tempo IS NULL) AND (DATEDIFF(NOW(), gvt_view_dispon.atualizado) < 15) AND (bloqueado = '0' OR gvt_atendimento.status = '2' OR gvt_atendimento.status = '0') AND (gvt_atendimento.dtprazo IS NULL OR (TIMESTAMPDIFF(MINUTE, gvt_atendimento.dtprazo, NOW()) > 0)) AND (gvt_atendimento.status <> '5' OR gvt_atendimento.status IS NULL) ORDER BY COALESCE(gvt_atendimento.status,9), COALESCE(gvt_atendimento.atendente,999), gvt_view_dispon.prioridade DESC, gvt_atendimento.dtprazo, gvt_view_dispon.disponivel DESC, gvt_view_dispon.caixa, gvt_view_dispon.telefone; Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Abril 27, 2008 Da EXPLAIN no Select e cola o resultado aqui mas previamente ja da pra dizer q aquele order by cheio de coisa q você tah fazendo tah deve tah comendo mto processamento Compartilhar este post Link para o post Compartilhar em outros sites
JCSPADER 0 Denunciar post Postado Maio 4, 2008 Da EXPLAIN no Select e cola o resultado aqui mas previamente ja da pra dizer q aquele order by cheio de coisa q você tah fazendo tah deve tah comendo mto processamento id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE lista_cadastro ALL cep 254596 Using where; Using temporary; Using filesort 1 SIMPLE gvt_dispon eq_ref PRIMARY,armario PRIMARY 12 sistemasdeinte2.lista_cadastro.cep,sistemasdeinte2.lista_cadastro.numero 1 Using where 1 SIMPLE gvt_dispon_update eq_ref PRIMARY PRIMARY 12 sistemasdeinte2.gvt_dispon.cidade,sistemasdeinte2.gvt_dispon.armario 1 Using where 1 SIMPLE gvt_atendimento eq_ref cliente cliente 10 sistemasdeinte2.lista_cadastro.telefone 1 Using where 1 SIMPLE gvt_bloqueio eq_ref PRIMARY PRIMARY 10 sistemasdeinte2.lista_cadastro.telefone Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 4, 2008 Quais campos da tabela você tem indexado ? Indexando os campos pode lhe ajudar muito na velocidade da consulta... Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Maio 5, 2008 bom, isso aih (pelo q eu entendi) eh uma view em cima de outra view, mas o fato eh q você na tabela 'lista_cadastro' tem um campo chamado 'cep' e eh esse campo q ta te quebrando as pernas, coloca uma primary key nele(se possivel) ou index Compartilhar este post Link para o post Compartilhar em outros sites