querie auxiliar

Delphi

09/05/2005

Boa tarde a todos, tenho uma duvida na questao de performance, quando vcs vao fazer consultas exporadicas no banco, onde querem trazer uma imformação, consultar se um registro existe, vcs usam uma querie auxiliar, onde não existe nenhum sql dentro dela, ou usam uma querie em que existe um Sql ja prorgramado e foi adicionado os TFields? qual é que traz a informação com maior velocidade?

Danilo Leal


Dcpleal

Dcpleal

Curtidas 0

Respostas

Saint

Saint

09/05/2005

Eu particularmente prefiro criar as querys em tempo de execucao qndo vou usar para alguma consulta exporadica...

logo, nao tem fields adicionados nem nada..so fica no codigo..
depois de ter o registro especifico eu dou um free e ela nao fica na memoria, entao acredito que agilize a aplicacao, alem de deixar o formulario mais limpo..


GOSTEI 0
Dcpleal

Dcpleal

09/05/2005

Como assim vc da um free?

dessa forma como vc faz usando uma querie auxiliar sem fields e só passando a consulta em tempo de execuçao fica mais rapido? e se vc tiver um relatorio ou um dbgrid como vc faz?


Danilo Leal


GOSTEI 0
Saint

Saint

09/05/2005

Eu falei que uso a query em tempo de execucao pra consultas exporadicas, geralmente relatorios e grids nao sao exporadicos..

Eu uso geralmetne qndo quero associar um objeto a um registro e nao tenho nenhuma query especifica pra isso..
ai crio a query, pego o valor e jogo o conteudo no objeto, depois libero a query..

fica mais rapido sim pq ela nao fica o tempo todo carregada na memoria..


GOSTEI 0
Dcpleal

Dcpleal

09/05/2005

então vc da o Free depois que acabo de usar a query?

é isso?

vc ja utilizo o tal de Tunning no BD?


GOSTEI 0
Joaoshi

Joaoshi

09/05/2005

Boa noite!

Você poderia ter uma ´query auxiliar´ em um DataModule.

O command Text desta query poderia ser ´alimentado´ dinamicamente pela sua aplicação. De forma que você, de acordo com a necessidade, passaria as instruções SELECT´s apropriadas.
Ex.: para pegar o nome do cliente a partir do código: (SELECT NOME FROM CLIENTES WHERE CODIGO = :meuCodigo);

Espero ter ajudado.


GOSTEI 0
Bruno Belchior

Bruno Belchior

09/05/2005

construir query´s (ou qualquer outro objeto) em tempo de execução é uma boa prática de programação quando o resultado é variante e não é usado em demasia... em geral, criar as query´s em run time chega a ´[b:b7acf79070]diminuir[/b:b7acf79070]´ o tamanho final do .exe, visto que ela não será armazenada em um arquivo de formulário (.dfm), que também é incluido no .exe...


GOSTEI 0
Saint

Saint

09/05/2005

isso mesmo, eu dou o free depois de utilizar..
pra deixar isso mais pratico voce pode criar um array dinamico de TQuery e sempre que precisar de alguma ela estara la...
vc so precisa ter o cuidado de criar nos ponteiros certos pra nao sobrescrever nenhuma nem acabar criando querys em excesso..


GOSTEI 0
POSTAR