Fórum querie auxiliar #280757

09/05/2005

0

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

Responder

Posts

09/05/2005

Saint

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..


Responder

Gostei + 0

09/05/2005

Dcpleal

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


Responder

Gostei + 0

09/05/2005

Saint

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..


Responder

Gostei + 0

09/05/2005

Dcpleal

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

é isso?

vc ja utilizo o tal de Tunning no BD?


Responder

Gostei + 0

09/05/2005

Joaoshi

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.


Responder

Gostei + 0

09/05/2005

Bruno Belchior

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...


Responder

Gostei + 0

12/05/2005

Saint

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..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar