Página 1 de 1
Problema/Dúvida em SELECT com function
Enviado: 08 Out 2021 03:07
por JoséQuintas
Esse select foi muito demorado, pra mostrar um único registro.
Demorou quase 3 minutos.
Por acaso o MySQL primeiro resolve, pra só depois pegar o primeiro?
Problema/Dúvida em SELECT com function
Enviado: 08 Out 2021 03:10
por JoséQuintas
Acho que sim.
Mesmo processamento.
Apenas filtrei o que interessava primeiro.
Reduziu de 2 minutos e 40 para 0,031 segundos.
Problema/Dúvida em SELECT com function
Enviado: 08 Out 2021 03:18
por JoséQuintas
JoséQuintas escreveu:Reduziu de 2 minutos e 40 para 0,031 segundos.
Só aproveitando:
Já comentei por aqui: se a consulta demorar mais de 3 segundos, considere que pode ter algo errado no comando.
Pra quem está acostumado com DBF, onde 3 minutos pode ser relativamente normal, pode achar que em SQL isso também é normal.
Neste caso aqui, mudou de 160 segundos para 0.031 segundos, o que é uma diferença gigantesca.
Como eu estava testando a rotina de gerar XML.... pensei que era problema nela... rs
Problema/Dúvida em SELECT com function
Enviado: 08 Out 2021 03:24
por JoséQuintas
A propósito....
Sendo assim, demorou 160 segundos pra gerar XML de informações adicionais pra 140 mil notas, 1000 notas por segundo.
Pra quem vai gerar uma de cada vez.... tá bom demais.
Problema/Dúvida em SELECT com function
Enviado: 10 Out 2021 11:26
por JoséQuintas
Outra coisa que não comentei:
Esse teste foi no MariaDB.
Não sei se o MySQL otimizaria melhor isso.
Código: Selecionar todos
select funcao( chave ) from tabela order by chave limit 10
Código: Selecionar todos
select funcao( chave ) from
( select chave from tabela order by chave limit 10 ) as a
Na primeira, o MariaDB só fez o filtro depois de fazer a função com tudo - 200.000 pedidos.
Na segunda, o MariaDB só fez para os filtrados.
Achei que pelo filtro não depender da função ele seria aplicado logo de início, mas não foi isso que aconteceu.
Isso faz pensar se não acontece com outras queries.