Página 1 de 1

Consulta demorada em MySql e Order By

Enviado: 22 Jun 2016 20:05
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

Consulta demorada em MySql e Order By

Enviado: 23 Jun 2016 15:51
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

Consulta demorada em MySql e Order By

Enviado: 23 Jun 2016 17:23
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