Mapping SQL

La funzionalità Mapping SQL può essere utilizzata quando sono richiesti mapping complessi, nonché per sostituire più regole di mapping con caratteri jolly * - * mediante un unico passaggio del database.

In questo esempio il mapping richiede più o meno 3 minuti e con un'unica regola di mapping SQL dovrebbe durare circa 30 secondi. È possibile utilizzare un'unica regola di mapping SQL per sostituire tutte le regole "like" e l'aspetto sarà simile al seguente.

Immagine che mostra un'unica regola di mapping SQL.

L'effettivo codice SQL che viene generato ed eseguito è il seguente.

Immagine che mostra il codice SQL effettivo.

In questo caso, il mapping SQL è stato definito nella dimensione ACCOUNT e le altre regole di mapping * - * sono state eliminate. Il tempo totale per quest'unica regola di mapping SQL è stato pari a 29 secondi e non sono state necessarie altre regole di mapping.

Alle dimensioni ACCOUNT e ENTITY può essere fatto riferimento con questi nomi, ma le altre dimensioni sono mappate su dimensioni UD. Per trovare il set di dimensioni necessario per il mapping SQL, esaminare la definizione dell'applicazione oppure il file di log per vedere quali dimensioni utilizzare. In questo esempio è presente il mapping di Product (Prodotto) e Scenario su UD1 e UD3. I membri della dimensione di origine utilizzano la colonna senza la "X", mentre i valori mappati si trovano nella colonna con una "X" come suffisso. Per la dimensione ACCOUNT, il valore proveniente dal file di origine si trova nella colonna denominata ACCOUNT e il valore mappato è memorizzato nella colonna ACCOUNTX. Il mapping SQL viene utilizzato per impostare la colonna "X" per ciascuna dimensione.

È possibile utilizzare questi stessi tipi di mapping in Riconciliazione conti, ma tenere presente che la dimensione Profile (Profilo) è classificata come ACCOUNT e che pertanto i mapping SQL per tale dimensione devono essere specificati per la dimensione ACCOUNT. Alle altre dimensioni in Riconciliazione conti deve essere fatto riferimento in base al mapping definito nella definizione dell'applicazione.

Ogni tipo di mapping utilizza le risorse in modo diverso e le performance dei vari mapping sono nell'ordine riportato di seguito, dove EXPLICIT è il più rapido e MULTI-DIM il più lento.

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

Il mapping MULTI-DIM è il più lento, pertanto cercare di limitare le regole di questo tipo per i casi d'uso complessi in cui è necessario utilizzare una combinazione di mapping EXPLICIT e LIKE. Ad esempio, ENTITY = 100 AND ACCOUNT LIKE 4*.

Come ulteriore strategia di tuning, si potrebbe riuscire a sostituire i mapping MULTI-DIM con mapping EXPLICIT combinando le dimensioni di origine. Ad esempio, se ENTITY=100 AND ACCOUNT=4100, è possibile concatenare ENTITY e ACCOUNT come origine e definire un mapping EXPLICIT per 100-4000.

Note:

Benché le performance siano analoghe in presenza di un volume considerevole di dati (più di 3 milioni di righe), i mapping SQL possono non funzionare a causa dei limiti dei governor di database. Le espressioni di importazione vengono elaborate quando i dati vengono importati senza comportare un'operazione SQL, pertanto l'importazione ha esito positivo. Per questo motivo, nel caso di grossi volumi di dati, è consigliabile utilizzare espressioni di importazione invece del mapping SQL.