Clipper On Line • Ver Tópico - Problema/Dúvida em SELECT com function

Problema/Dúvida em SELECT com function

Discussão sobre SQL

Moderador: Moderadores

 

Problema/Dúvida em SELECT com function

Mensagempor JoséQuintas » 08 Out 2021 03:07

mysql.png


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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Problema/Dúvida em SELECT com function

Mensagempor JoséQuintas » 08 Out 2021 03:10

mysql2.png


Acho que sim.
Mesmo processamento.
Apenas filtrei o que interessava primeiro.
Reduziu de 2 minutos e 40 para 0,031 segundos.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Problema/Dúvida em SELECT com function

Mensagempor JoséQuintas » 08 Out 2021 03:18

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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Problema/Dúvida em SELECT com function

Mensagempor JoséQuintas » 08 Out 2021 03:24

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Problema/Dúvida em SELECT com function

Mensagempor JoséQuintas » 10 Out 2021 11:26

Outra coisa que não comentei:

Esse teste foi no MariaDB.
Não sei se o MySQL otimizaria melhor isso.

select funcao( chave ) from tabela order by chave limit 10


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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro