DROP TABLE tab2 PURGE;
CREATE TABLE tab2
(id NUMBER,
created_date DATE)
PARTITION BY RANGE (created_date)
(PARTITION tab2_2019 VALUES LESS THAN (TO_DATE('01/01/2020', 'DD/MM/YYYY')) TABLESPACE users,
PARTITION tab2_2020 VALUES LESS THAN (TO_DATE('01/01/2021', 'DD/MM/YYYY')) TABLESPACE users);
EXEC DBMS_STATS.gather_table_stats(NULL, 'tab2');
INSERT INTO tab2
SELECT level,
TO_DATE('01/01/2019', 'DD/MM/YYYY')
FROM dual
CONNECT BY level <= 1000;
COMMIT;
-- Flush monitoring information to the data dictionary.
EXEC DBMS_STATS.flush_database_monitoring_info;
-- NUM_ROWS from USER_TABLES.
SELECT table_name,
num_rows
FROM user_tables
WHERE table_name = 'TAB2';
TABLE_NAME NUM_ROWS
---------- ----------
TAB2 0
SQL>
-- NUM_ROWS from USER_TAB_STATISTICS.
SELECT table_name,
NVL(partition_name, '{GLOBAL}') AS partition_name,
num_rows,
notes
FROM user_tab_statistics
WHERE table_name = 'TAB2';
TABLE_NAME PARTITION_ NUM_ROWS NOTES
---------- ---------- ---------- -------------------------
TAB2 {GLOBAL} 0
TAB2 TAB2_2019 0
TAB2 TAB2_2020 0
TAB2 {GLOBAL} 1000 STATS_ON_CONVENTIONAL_DML
SQL>
-- LOW_VALUE and HIGH_VALUE of ID column from USER_TAB_COL_STATISTICS.
SELECT table_name,
column_name,
UTL_RAW.cast_to_number(low_value) AS low_value,
UTL_RAW.cast_to_number(high_value) AS high_value,
sample_size,
notes
FROM user_tab_col_statistics
WHERE table_name = 'TAB2'
AND column_name = 'ID';
TABLE_NAME COLUMN_NAME LOW_VALUE HIGH_VALUE SAMPLE_SIZE NOTES
---------- ----------- ----------- ----------- ----------- -------------------------
TAB2 ID
TAB2 ID 276 519 4 STATS_ON_CONVENTIONAL_DML
SQL>
-- Empty the table and clear down the statistics.
EXEC DBMS_STATS.delete_table_stats(NULL, 'tab2');
TRUNCATE TABLE tab2;
EXEC DBMS_STATS.gather_table_stats(NULL, 'tab2');
INSERT INTO tab2 PARTITION (TAB2_2019)
SELECT level,
TO_DATE('01/01/2019', 'DD/MM/YYYY')
FROM dual
CONNECT BY level <= 1000;
COMMIT;
-- Flush monitoring information to the data dictionary.
EXEC DBMS_STATS.flush_database_monitoring_info;
-- NUM_ROWS from USER_TABLES.
SELECT table_name,
num_rows
FROM user_tables
WHERE table_name = 'TAB2';
TABLE_NAME NUM_ROWS
---------- ----------
TAB2 0
SQL>
-- NUM_ROWS from USER_TAB_STATISTICS.
SELECT table_name,
NVL(partition_name, '{GLOBAL}') AS partition_name,
num_rows,
notes
FROM user_tab_statistics
WHERE table_name = 'TAB2';
TABLE_NAME PARTITION_ NUM_ROWS NOTES
---------- ---------- ---------- -------------------------
TAB2 {GLOBAL} 0
TAB2 TAB2_2019 0
TAB2 TAB2_2020 0
TAB2 {GLOBAL} 1000 STATS_ON_CONVENTIONAL_DML
SQL>
-- LOW_VALUE and HIGH_VALUE of ID column from USER_TAB_COL_STATISTICS.
SELECT table_name,
column_name,
UTL_RAW.cast_to_number(low_value) AS low_value,
UTL_RAW.cast_to_number(high_value) AS high_value,
sample_size,
notes
FROM user_tab_col_statistics
WHERE table_name = 'TAB2'
AND column_name = 'ID';
TABLE_NAME COLUMN_NAME LOW_VALUE HIGH_VALUE SAMPLE_SIZE NOTES
---------- ----------- ----------- ----------- ----------- -------------------------
TAB2 ID
TAB2 ID 112 776 4 STATS_ON_CONVENTIONAL_DML
SQL>