Deixe o Oracle Forms fazer o trabalho dele
[ad#texto]
Eu sei que já prometi, mas agora o curso de Oracle Forms está realmente retornando, tanto isso é fato que vou colocar esse post como um adendo ao curso, portanto se você que é iniciante em Oracle não compreender, não se preocupe, com o passar do curso você vai entender o que quero dizer agora.
Vou explicar de forma rápida como funciona o processamento de um query dentro do Oracle.
É o seguinte, ao dar ordem de execução para a sua query, pode ser de dentro de um Form compilado ou mesmo de um PL/SQL Developer o Oracle vai identificar e semi processar a sua instrução para então depois passar para o parse e enfim dar ordem efetiva de execução e caso a sua instrução seja uma select ele ainda vai retornar o fetch de resultados para você.
E é aí que quero chegar, esse é o processo normal, onde caso a sua instrução seja novamente enviada para processamento para o Oracle, ele vai “entender” que já processou aqui e pular a faze de semi processamento que ocupa muito recurso e vai envia-la diretamente para o parse.
Outro ponto é que no caso de o retorno de uma select e caso você esteja operando um form construído da devida forma (amarrando a tabela para um banco de dados) o Forms da Oracle tem uma série de dispositivos e recursos para controlar e não enviar o fetch de uma única vez o que iria obrigar o seu usuário a esperar todo esse envio, e que em casos de várias linhas isso iria refletir em lentidão para a sua aplicação, o Forms vai identando e enviando o fetch para o cliente conforme a necessidade e aos poucos e isso se traduz em uma aplicação transparente e de boa performance.
O problema é que tem “desenvolvedores” que simplesmente ignoram todo esse processo e ao invés de amarrar uma tabela a um bloco de dados eles criam um bloco de dados livre, sem tabela, e vai controlando tudo via select into, o que causa todos os problemas relacionados acima.
Ambas as aplicações vão funcionar corretamente, porém uma irá aproveitar todos os recursos da ferramenta e obterá além de maior controle e segurança mais performance e a outra irá ser mais lenta pois irá trabalhar da forma mais rudimentar possível.