Для столбца типа CHAR, когда была запущена команда gather_table_stats, endpoint_actual_value
имела значения CHAR, такие как "JUMBO BOX", "JUMBO CAR" и т.д. в таблице user_tab_histograms
.
Я пытаюсь написать (фальшивую) статистику как часть эксперимента, и я использую prepare_column_values
и set_column_stats
для создания деталей гистограммы, но я не могу указать endpoint_actual_value
.
EDIT 1: Версия: Oracle 11g Express Edition
EDIT 2: я обновляю статистику следующим образом:
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;
/
Любые предложения? Спасибо!