Quando você usa o Data Gateway ou o Remote Data Connector com o Oracle Analytics Cloud, há uma pequena sobrecarga na duração de cada execução de consulta.
Você não observará a duração adicional quando executar um relatório porque ela será inferior a 0,3 segundos. No entanto, você pode ter problemas de desempenho se executar muitos blocos de inicialização (o número depende dos seus requisitos de desempenho) sempre que alguém acessar o sistema, porque as consultas do bloco de inicialização são executadas no modo serial. Este tópico sugere maneiras de reduzir o número de blocos de inicialização de sessão.
O uso da opção diferida para blocos de inicialização não corrige o problema, porque os blocos de inicialização são executados quando você abre a primeira página do painel de controle.
Isto é um problema se você usa o Oracle BI Applications, porque ele executa mais de 200 blocos de inicialização. Para o Oracle Analytics Cloud, a melhor forma de evitar esses problemas de desempenho é reduzir o número de blocos de inicialização.
A Oracle recomenda as seguintes maneiras de reduzir o número de blocos de inicialização de sessão:
Por exemplo, no Oracle BI Applications, desative blocos de inicialização que se refiram a módulos do Oracle BI Applications que você não usa mais.
row_wise
que usarem o mesmo pool de conexões e retornem o mesmo tipo de dados usando UNION ALL
entre suas consultas.
Por exemplo:
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
ou W_DUAL_G
, e coloque o valor com código no inicializador padrão da variável correspondente.select
os blocos de inicialização restantes que selecionem dados de elemento dual.HIDE
for o valor atual para essas variáveis) ou se você não usar o Oracle Human Capital Management como uma origem de dados do Oracle BI Applications (há 100 blocos de inicialização como esse no Oracle BI Applications):
HR xxx Attribute yyy
row_wise
e use o mesmo pool de conexões. Por exemplo:
O bloco de inicialização 1 se baseia na consulta1: select colA from tableA where….
O bloco de inicialização 2 se baseia na consulta2: select colB from tableB where….
Você pode mesclá-los em um único bloco de inicialização usando uma consulta como:
Select MAX(colA), MAX(colB) from ( select cola as cola, null as colB from tableA where…. Union all Select null, colB from tableB where…) tmp
Você pode fazer quantas uniões forem necessárias para recuperar todas as variáveis no mesmo pool de conexões em uma única consulta.
Essa opção não é fácil de implementar ou manter, e você se arrisca a cometer erros quando cria as consultas e designa todas as variáveis a um único bloco de inicialização.
Se você implementar e manter com cuidado suas consultas e variáveis do bloco de inicialização, poderá reduzir significativamente o tempo necessário para entrar no sistema e exibir a primeira página do painel de controle.