querie auxiliar
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
Danilo Leal
Dcpleal
Curtidas 0
Respostas
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..
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
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
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
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..
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
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?
é isso?
vc ja utilizo o tal de Tunning no BD?
GOSTEI 0
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.
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
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
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..
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