Mapeamento SQL

O recurso Mapeamento SQL está disponível para ser usado em requisitos de mapeamento complexo, além de também poder ser usado para substituir várias regras de mapeamento * para * curinga por uma única passagem do banco de dados.

Neste exemplo, o mapeamento demora aproximadamente 3 minutos e, com uma única regra de mapeamento SQL, só deve demorar cerca de 30 segundos. Uma única regra de mapeamento SQL pode ser usada para substituir todas as regras "semelhantes" e teria a seguinte aparência:

A imagem mostra uma única regra de mapeamento SQL.

O SQL real é gerado e executado da seguinte maneira:

A imagem mostra o SQL real.

Nesse caso, o mapeamento SQL foi definido na dimensão ACCOUNT, e as outras regras de mapeamento * para * foram excluídas. O tempo total dessa regra de mapeamento SQL foi de 29 segundos e nenhuma outra regra de mapeamento foi obrigatória.

As dimensões ACCOUNT e ENTITY podem ser referenciadas por esses nomes, mas as outras dimensões são mapeadas para dimensões UD. Para encontrar o conjunto de dimensões necessário para o mapeamento SQL, você precisa observar a definição do Aplicativo ou o arquivo de log para saber qual dimensão usar. Neste exemplo, Produto e Cenário são mapeados para UD1 e UD3. Os membros da dimensão de origem usam a coluna sem o "X", e os valores mapeados estão na coluna com um "X" com um sufixo. Para a dimensão ACCOUNT, o valor do arquivo de origem está na coluna chamada ACCOUNT, e o valor mapeado está armazenado na coluna ACCOUNTX. O mapeamento SQL é usado a fim de definir a coluna "X" para cada dimensão.

Esse mesmo tipo de mapeamento pode ser usado em Account Reconciliation, mas observe que a dimensão Perfil é classificada como ACCOUNT, de maneira que qualquer mapeamento SQL para a dimensão Perfil deva ser especificado na dimensão ACCOUNT. Outras dimensões em Account Reconciliation devem ser referenciadas com base no mapeamento estabelecido na definição do aplicativo.

Cada tipo de mapeamento usa recursos de maneira diferente, e o desempenho de mapeamento está na seguinte ordem, em que Explicit é o mais rápido e Multi-Dim é o mais lento:

  1. EXPLICIT
  2. IN
  3. BETWEEN e LIKE
  4. MULTI-DIM

Os mapeamentos Multi-dim são os mais lentos, e tente limitar regras multi-dim para casos de uso complexos nos quais você precise usar uma combinação de mapeamentos EXPLICIT e LIKE. Por exemplo, ENTITY = 100 AND ACCOUNT LIKE 4*.

Como uma estratégia de ajuste adicional, convém substituir mapeamentos multi-dim por mapeamentos explícitos integrando dimensões de origem. Por exemplo, se ENTITY=100 AND ACCOUNT=4100, será possível concatenar ENTITY e ACCOUNT como a origem, além de definir o mapeamento EXPLICIT para 100-4000.

Note:

Embora o desempenho seja semelhante quando o volume de dados é muito grande (mais de 3 milhões de linhas), os mapeamentos SQL podem falhar por causa dos limites de administrador do banco de dados. As expressões de importação são processadas quando os dados são importados e não envolve uma operação SQL, de maneira que a importação não falhe. Por esse motivo, para um volume de dados muito grande, é recomendável usar expressões de importação, em vez de mapeamento SQL.