Consulta demorada em MySql e Order By

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Consulta demorada em MySql e Order By

Mensagem por janio »

Pessoal,

Tenho um tabela com 31.000 itens e fazendo a consulta abaixo com ORDER BY, demora incríveis 44 segundos para mostrar o resultado com 83 itens.

Código: Selecionar todos

Select codigo, descri, uniprd, prccom, prcmer, sldstk, refere
FROM a03prd
WHERE DESCRI LIKE '%COCA%'
ORDER BY DESCRI
Se tiro o ORDER BY a mesma consulta passa a ser instantânea!

Alguém sabe pq isso acontece?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Consulta demorada em MySql e Order By

Mensagem por alxsts »

Olá!

Tente usar uma tabela derivada:

Código: Selecionar todos

SELECT t.*
  FROM (
         Select codigo, descri, uniprd, prccom, prcmer, sldstk, refere
           FROM a03prd
          WHERE DESCRI LIKE '%COCA%'
       ) AS t
ORDER BY t.DESCRI
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Consulta demorada em MySql e Order By

Mensagem por janio »

P E R F E I T O, Alexandre!

Deu certinho assim. Uma bala agora!

Parece que ele estava fazendo um ORDER BY na tabela inteira e NÃO no resultado da consulta (como tem que ser). Desviando a consulta para uma tabela derivada, finalmente ele se comportou como desejado!

Muito bom! Valeu
:{ :{

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Responder