CFLOOP com CFQUERY, uma dica legal
Publicado; 26/09/2002 Arquivado em: ColdFusion 1 comentárioEssa eu nunca vi por aí, aprendi sozinho e na marra, otimizando códigos feiosos e lerdos.
Se você está fazendo loopings em comandos SQL e tags CFQUERY, como no exemplo abaixo:
<CFLOOP INDEX=”counter” LIST=”#alguma_lista#”>
<CFQUERY NAME=”Query” DATASOURCE=”Datasource”>
Exemplo de Comando SQL
WHERE id=#counter#
</CFQUERY>
</CFLOOP>
Saiba que você pode poupar o pobre do seu BD mudando pouca coisa na sintáxe. O código abaixo deverá rodar 80% mais rapido que o anterior fazendo exatamente a mesma coisa, veja:
<CFQUERY NAME=”Query” DATASOURCE=”Datasource”>
<CFLOOP INDEX=”counter” LIST=”#alguma_lista#”>
Exemplo de Comando SQL
WHERE id=#counter#;
<CFLOOP>
</CFQUERY>
Perceba a mudança da tag CFLOOP para DENTRO da CFQUERY e a presença do ponto-e-vírgula no final da cláusula.
Pronto, agora você abre e fecha a conexão ao banco de dados (normalmente um processo que pode levar tempo), apenas uma vez! Um detalhe importante que você não pode esquecer: para que os comandos SQL funcionem corretamente você precisa separá-los com o ponto-e-vírgula (;). Essa é a sintaxe usada pelo MSSQL Server. Não sei ao certo qual é a sintaxe correta em outros bancos de dados (ou se é suportado de forma correta), mas isso funciona perfeitamente bem (e rápido, MUITO rápido) neste último. Faça o teste!
legal !!!
vc saberia me dizer como faço uma conexão com o MySQL ?