Per una colonna di tipo di dati CHAR, quando è stato eseguito gather_table_stats, il valore endpoint_actual_value
aveva i valori char come 'JUMBO BOX', 'JUMBO CAR', ecc. Nella tabella user_tab_histograms
.Istogrammi falsi Oracle
Sto cercando di scrivere (finti) statistiche come parte di un esperimento e sto usando prepare_column_values
e set_column_stats
per creare i dettagli istogramma, ma io non sono in grado di specificare il endpoint_actual_value
.
EDIT 1: Versione: Oracle 11g Express Edition
EDIT 2: posso aggiornare le statistiche seguente modo:
DECLARE
m_distcnt NUMBER := 3; -- num_distinct
m_density NUMBER := 1/1000; -- density
m_nullcnt NUMBER := 0; -- num_nulls
m_avgclen NUMBER := 10; -- avg_col_len
srec dbms_stats.statrec;
c_array dbms_stats.chararray;
BEGIN
srec.epc := 3;
c_array := dbms_stats.chararray('HELLO', 'WORLD', 'FIRST');
srec.bkvals := dbms_stats.numarray(20, 180, 800);
dbms_stats.prepare_column_values(srec, c_array);
dbms_stats.set_column_stats(USER, 'FBHIST_DEMO', 'TESTCOL',
distcnt => m_distcnt,
density => m_density,
nullcnt => m_nullcnt,
srec => srec,
avgclen => m_avgclen);
END;
/
Qualche suggerimento? Grazie!
@JonHeller Aggiornato. – user2761431
Si prega di fornire esattamente come si invoca 'prepare_column_values' e' set_column_stats'. –
@ Kombajnzbożowy Ho aggiornato i dettagli richiesti. – user2761431