全局索引global index
1. 全局索引的分区键和分区数和表的分区键和分区数可能都不相同,表和全局索引的分区机制不一样。
2. 全局索引可以分区,也可以是不分区索引,全局索引必须是前缀索引,即全局索引的索引列必须是以索引分区键作为其前几列。
3. 全局分区索引的索引条目可能指向若干个分区,因此,对于全局分区索引,即使只动,截断一个分区中的数据,都需要rebulid若干个分区甚 至是整个索引。
4. 全局索引多应用于oltp系统中。
5. 全局分区索引只按范围或者散列hash分区,hash分区是10g以后才支持。
6. oracle9i以后对分区表做move或者truncate的时可以用update global indexes语句来同步更新全局分区索引,用消耗一定资源来换取高度的可用性。
7. 表用a列作分区,索引用b做局部分区索引,若where条件中用b来查询,那么oracle会扫描所有的表和索引的分区,成本会比分区更高,此时可以考虑用b做全局分区索引
exchange
把emp表中分区p_2003的分区数据移到历史表emp_his中,并删除emp表中的p_2003分区数据
create table emp2 as select * from emp where 1=2;
alter table emp exchange partition p_2003 with table emp2;
alter table emp_his exchange partition p_2003 with table emp2;
查看表的大小
avg_row_len. 该值单位为bytes
方法一:查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
方法二:另一种表实际使用的空间。这样查询:
analyze table emp compute statistics;
select num_rows * avg_row_len from user_tables where table_name = 'EMP';
SELECT table_name ,num_rows * avg_row_len/1024/1024 "MB" FROM user_tab_statistics;
select num_rows * avg_row_len/1024/1024 "MB"
from user_tables
where table_name = 'EMP';
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12961536/viewspace-769528/
,如需转载,请注明出处,否则将追究法律责任。