AUDIT SELECT, INSERT, UPDATE, DELETE ON schema.table BY ACCESS;DBA_AUDIT_OBJECT 資訊,彙總存取次數NOAUDIT ...篩選條件:資料量大(百萬列以上)且存取頻繁。本案例中,doctor_orders、orders、orders_costs 符合條件,重點處理 orders(醫囑執行主表)。
ANALYZE TABLE orders ESTIMATE STATISTICS SAMPLE 20 PERCENT;
查詢 DBA_TAB_COLUMNS 觀察候選欄位的值分布:
ORDER_CODE:分布不均,不適合ORDER_CLASS、ORDERING_DEPT:分布均勻,但隨時間增長分區會傾斜START_DATE_TIME:時間欄位,天然適合 Range PartitioningCREATE TABLE orders (
order_id NUMBER,
start_date_time DATE,
ordering_dept VARCHAR2(10),
...
)
PARTITION BY RANGE (start_date_time)
SUBPARTITION BY HASH (ordering_dept)
SUBPARTITIONS 8
(
PARTITION p_2023_01 VALUES LESS THAN (TO_DATE('2023-02-01','YYYY-MM-DD')),
PARTITION p_2023_02 VALUES LESS THAN (TO_DATE('2023-03-01','YYYY-MM-DD')),
...
PARTITION p_max VALUES LESS THAN (MAXVALUE)
);
DROP PARTITION 或 ARCHIVE,維運簡單TRUNC(date_col))導致分區修剪失效ANALYZE 或 DBMS_STATS 維持統計資訊準確DBA_TAB_PARTITIONS 大小,適時 SPLIT 或 MERGE