c oracle表分区
Oracle的表分区是一种将大表分成更小、更易管理部分的有效方法。通过将表分解成小的部分,分区可以提高查询和数据检索的性能,同时减少维护表或索引时产生的开销,缩短备份恢复时间,以及更专注于相对少量的数据(比如历史数据可移动到新的区域中或删除),更好的满足不同的业务需求。
表分区在数据仓库或OLTP系统中使用非常广泛,例如以下表表示历史数据记录的支出,包括所有出账的年份和月份:
CREATE TABLE expenses ( account_id NUMBER, expense_date DATE, amount NUMBER ) PARTITION BY RANGE (expense_date) ( PARTITION expenses_2017_jan VALUES LESS THAN (TO_DATE('2017-02-01', 'YYYY-MM-DD')), PARTITION expenses_2017_feb VALUES LESS THAN (TO_DATE('2017-03-01', 'YYYY-MM-DD')), PARTITION expenses_2017_mar VALUES LESS THAN (TO_DATE('2017-04-01', 'YYYY-MM-DD')), PARTITION expenses_2017_apr VALUES LESS THAN (TO_DATE('2017-05-01', 'YYYY-MM-DD')), PARTITION expenses_2017_may VALUES LESS THAN (TO_DATE('2017-06-01', 'YYYY-MM-DD')), ... );