Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Pesquisa Sql com comando LIKE lento demais


INFORMAIs

Pergunta

Amigos tenho uma tabela CABECALHO_PEDIDO com aproximadamente 188.000 registros,

nela tenhos os campos com o "CLIVENDA"

 

o problema é quando preciso pesquisar por esse campo

 

select * from tvenda WHERE CLIVENDA LIKE '%JOAO%' ORDER BY CLIVENDA ASC LIMIT 1000

 

Esse campo CLIVENDA  está indexado, mas ela tem 58 campos, mas nem todos são preenchidos, mas no browse de pesquisa exibo apenas uns 10 campos.

 

quando jogo esse comando no banco ele leva um tempão, 

 

Percebi que se fizer assim  select * from tvenda WHERE CLIVENDA LIKE '%JOAO%' LIMIT 1000

ele busca rapidão, mas preciso que seja em ordem 

 

Editado por INFORMAIs
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Tenta assim:

select a.* 
from (SELECT t.* tvenda t WHERE CLIVENDA LIKE '%JOAO%' LIMIT 1000) a
ORCER BY a.clivenda

A ordenação ira acontecer somente no resultset. Após separar os 1000 registros gerados por sua consulta.

Da forma como você colocou inicialmente a ordenação foi aplicada em toda a tabela e só depois é que o filtro foi ativado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...