Statistiche a livello di colonna non raccolte a causa di una mancata corrispondenza dei tipi di dati in Data Virtualization
Quando si utilizza la procedura COLLECT_STATISTICS con il tipo di remote-catalog raccolta statistiche su una tabella virtualizzata con una discrepanza tra i tipi di dati della tabella virtualizzata e quelli della tabella remota, è possibile che venga visualizzato un avviso che identifica la colonna interessata e i tipi di dati incompatibili.
Sintomi
Quando Data Virtualization raccoglie statistiche, è possibile che venga visualizzato un avviso simile al seguente esempio. Il messaggio di avviso indica che le statistiche HIGHKEY e LOWKEY non sono state raccolte per la colonna C2.
db2 "call dvsys.collect_statistics('BLUADMIN', 'TESTOTHER', null, 1, null, ?)"
Value of output parameters
--------------------------
Parameter Name : DIAGS
Parameter Value : Collected statistics for table "BLUADMIN"."TESTOTHER":
Table Cardinality = 2
Column "C3" [CHAR(5)]: colcard=1, numnulls=1, highkey="1234", lowkey="1234"
Column "C4" [VARCHAR(10)]: colcard=1, numnulls=1, highkey="12003a", lowkey="12003a"
Column "C5" [CHAR(1)]: colcard=2, numnulls=0, highkey="a", lowkey="0"
Column "C6" [VARCHAR(10)]: colcard=2, numnulls=0, highkey="bbb", lowkey="aaa"
Column "C7" [VARBINARY(16000)]: colcard=1, numnulls=1, highkey="bx'68656C6C6F'", lowkey="bx'68656C6C6F'"
Column "C8" [VARCHAR(16000)]: colcard=1, numnulls=1, highkey="", lowkey=""
Column "C9" [VARCHAR(16000)]: colcard=1, numnulls=1, highkey="dsfadfagfewarragagfagresttretw", lowkey="dsfadfagfewarragagfagresttretw"
Column "C1" [SMALLINT]: colcard=2, numnulls=0, highkey="2", lowkey="1"
Column "C2" [BOOLEAN]: colcard=2, numnulls=0, highkey="", lowkey=""
Received the following messages while collecting stats:
WARNING: Key stats for column "C2" not collected due to remote type (BIT) incompatibility with virtual type (BOOLEAN)
Return Status = 0
Cause
Quando si virtualizza una tabella, un tipo di dati nell'origine dati remota potrebbe essere diverso dal tipo di dati corrispondente nella tabella virtualizzata.Questo problema può verificarsi a causa di un errore di mappatura dei tipi durante la virtualizzazione, una modifica esplicita alla tabella virtualizzata o una modifica alla definizione della tabella nell'origine dati remota.In questi casi, viene restituito un errore di incompatibilità di tipo.Questo problema riguarda solo le statistiche HIGHKEY e LOWKEY.
Risoluzione del problema
db2 "call dvsys.collect_statistics('BLUADMIN', 'TESTOTHER', null, 2, null, ?)"Per ulteriori informazioni, consultare la procedura memorizzata COLLECT_STATISTICS in Data Virtualization.