Saiba por que e como usar um número mínimo de campos no Format Buffer do Adabas a fim de obter uma economia considerável de recursos do banco de dados e nos tempos de execução reduzidos de programas de aplicação.
Resumo
Para melhorar o desempenho de suas aplicações, considere seriamente minimizando o número de campos do arquivo que aparecerão na Format Buffer do Adabas. Os campos mais files especificados na Format Buffer, quanto maior a quantidade de processamento Adabas usará para retornar registros para o seu programa. Quando um programa lê registros de um file Adabas, o Adabas le os comandos que são usados. Estes são os comandos Lx na documentação no manual Command Reference Adabas. Se você estiver usando um programa 3GL usando chamadas diretas, você pode codificar o bloco de controle (control block) e todos os buffers. Se você estiver usando Natural, Adabas Native SQL, ou qualquer outra interface Adabas, o bloco de controle (control block) e os buffers são criados "nos bastidores" para você. Mas não importa o método que você escolha, um format buffer é usado para especificar os campos do file que você deseja retornado para seu programa. Há também um correspondente record buffer onde o Adabas vai colocar os valores dos campos do registro.
O número de campos retornados a seu programa afeta diretamente o tempo de execução do seu programa. Este é o caso, porque o Adabas deve descomprimir os campos do arquivo individual a partir do bloco de dados para o record buffer. Cada campo de arquivo adicional especificado no format buffer aumenta a quantidade de processamento no Adabas que usa para retornar o registro de seu programa. Portanto, o número de campos retornados pelo programa deve ser mantido ao mínimo absoluto. O Natural será utilizada para os exemplos subsequentes.
O format buffer criado pela Natural é controlada pela Userview definidos no programa Natural. Em programas Natural em modo reporting, a userview é definido de duas formas. Em primeiro lugar, todos os campos de file usados em demonstrações de processamento no FIND/READ/GET loop estão incluídos no format buffer. Em segundo lugar, todos os campos do file especificados em qualquer declarações OBTEM também incluídos no format buffer. Na maioria dos programas de modo reporting a nota de informação não é utilizada, o que resulta no compilador Natural criando a userview usando somente os campos do file que são realmente utilizados no programa. Isso resulta em um format buffer com o número mínimo de campos.
Em programas Natural de modo structured de dados ou programas de modo estruturadas, os campos de arquivo retornado para o programa são determinadas pela userview definido na global data area (GDA) ou a local data area (LDA). Uma vez que a GDA ou LDA está sob controle do programador, isso deixa até o programador para desenvolver uma userview eficientemente. É fácil para incluir campos na userview que nunca são usadas nas declarações de processamento do programa. Por exemplo, um campo pode ser adicionado na userview porque ele é necessário em uma determinado momento. Mais tarde, a declaração MOVE é removido sem remover o campo da userview, o que resulta em um campo desnecessário na userview. Também é fácil para retornar mais campos de files do que o necessário quando se utiliza de LDA externos. Muitas vezes, LDA padrão de externos são usados que voltar muitos mais campos do que necessário por qualquer programa individual. Embora isso melhora a produtividade de programação, mas também reduz o desempenho de tempo de execução.
Agora é hora de ver o quanto o desempenho é afetado dependendo da UserView. Dois programas foram executados, a única diferença é o número de campos na UserView. Tenha em mente que horários abaixo indicados estavam reunidos em uma CPU em particular, para que seus resultados podem variar.
O primeiro programa inclui muitos mais campos do que o necessário.
[b]DEFINE DATA LOCAL USING FB2L[/b]
(*) userview em FB2L contém:
(*) 22 campos escalares elementares, ADDRESS-LINE(1-8),
(*) CURR-CODE(1-20), SALARY(1-20), BONUS(1-20(1-10)),
(*) LEAVE-START(1-20), LEAVE-END(1-20), LANG(1-20)
O segundo programa inclui apenas o arquivo campos necessários.
DEFINE DATA LOCAL USING FB2M
(*) userview em FB2M contém:
(*) PERSONNEL-ID, FIRST-NAME, NAME, CITY
Tópico Original - Clique Aqui
Resumo
Para melhorar o desempenho de suas aplicações, considere seriamente minimizando o número de campos do arquivo que aparecerão na Format Buffer do Adabas. Os campos mais files especificados na Format Buffer, quanto maior a quantidade de processamento Adabas usará para retornar registros para o seu programa. Quando um programa lê registros de um file Adabas, o Adabas le os comandos que são usados. Estes são os comandos Lx na documentação no manual Command Reference Adabas. Se você estiver usando um programa 3GL usando chamadas diretas, você pode codificar o bloco de controle (control block) e todos os buffers. Se você estiver usando Natural, Adabas Native SQL, ou qualquer outra interface Adabas, o bloco de controle (control block) e os buffers são criados "nos bastidores" para você. Mas não importa o método que você escolha, um format buffer é usado para especificar os campos do file que você deseja retornado para seu programa. Há também um correspondente record buffer onde o Adabas vai colocar os valores dos campos do registro.
O número de campos retornados a seu programa afeta diretamente o tempo de execução do seu programa. Este é o caso, porque o Adabas deve descomprimir os campos do arquivo individual a partir do bloco de dados para o record buffer. Cada campo de arquivo adicional especificado no format buffer aumenta a quantidade de processamento no Adabas que usa para retornar o registro de seu programa. Portanto, o número de campos retornados pelo programa deve ser mantido ao mínimo absoluto. O Natural será utilizada para os exemplos subsequentes.
O format buffer criado pela Natural é controlada pela Userview definidos no programa Natural. Em programas Natural em modo reporting, a userview é definido de duas formas. Em primeiro lugar, todos os campos de file usados em demonstrações de processamento no FIND/READ/GET loop estão incluídos no format buffer. Em segundo lugar, todos os campos do file especificados em qualquer declarações OBTEM também incluídos no format buffer. Na maioria dos programas de modo reporting a nota de informação não é utilizada, o que resulta no compilador Natural criando a userview usando somente os campos do file que são realmente utilizados no programa. Isso resulta em um format buffer com o número mínimo de campos.
Em programas Natural de modo structured de dados ou programas de modo estruturadas, os campos de arquivo retornado para o programa são determinadas pela userview definido na global data area (GDA) ou a local data area (LDA). Uma vez que a GDA ou LDA está sob controle do programador, isso deixa até o programador para desenvolver uma userview eficientemente. É fácil para incluir campos na userview que nunca são usadas nas declarações de processamento do programa. Por exemplo, um campo pode ser adicionado na userview porque ele é necessário em uma determinado momento. Mais tarde, a declaração MOVE é removido sem remover o campo da userview, o que resulta em um campo desnecessário na userview. Também é fácil para retornar mais campos de files do que o necessário quando se utiliza de LDA externos. Muitas vezes, LDA padrão de externos são usados que voltar muitos mais campos do que necessário por qualquer programa individual. Embora isso melhora a produtividade de programação, mas também reduz o desempenho de tempo de execução.
Agora é hora de ver o quanto o desempenho é afetado dependendo da UserView. Dois programas foram executados, a única diferença é o número de campos na UserView. Tenha em mente que horários abaixo indicados estavam reunidos em uma CPU em particular, para que seus resultados podem variar.
O primeiro programa inclui muitos mais campos do que o necessário.
[b]DEFINE DATA LOCAL USING FB2L[/b]
(*) userview em FB2L contém:
(*) 22 campos escalares elementares, ADDRESS-LINE(1-8),
(*) CURR-CODE(1-20), SALARY(1-20), BONUS(1-20(1-10)),
(*) LEAVE-START(1-20), LEAVE-END(1-20), LANG(1-20)
END-DEFINE
READ (20) EMPL BY NAME
WRITE PERSONNEL-ID FIRST-NAME
NAME CITY
END-READ
END
Quando este programa foi executado, a duração média dos comandos Adabas READ (L3) foi de 64 microssegundos.
O segundo programa inclui apenas o arquivo campos necessários.
DEFINE DATA LOCAL USING FB2M
(*) userview em FB2M contém:
(*) PERSONNEL-ID, FIRST-NAME, NAME, CITY
END-DEFINE
READ (20) EMPL BY NAME
WRITE PERSONNEL-ID FIRST-NAME
NAME CITY
END-READ
END
Quando este programa foi executado, a duração média dos comandos Adabas READ (L3) foi de 16 microssegundos. Assim, ao eliminar áreas não utilizadas do UserView, a duração de comando Adabas foi reduzida em 75 por cento. Em conclusão, utilizando um número mínimo de campos pode resultar numa economia considerável de recursos de banco de dados e os tempos de execução de programas de aplicação reduzidas.
Tópico Original - Clique Aqui

0 comentários:
Enviar um comentário