问:表(Table)和段(Segment)之间是什么关系?
答:首先,要清楚它们的概念:表是逻辑对象;段是物理存储对象。然后,再看它们之间的关系:
- 段的存在,并不是依赖于表的。建立一些其它逻辑对象也会会创建段,如索引、物化视图;
- 一张普通表对应一个段;
- 表的建立,并不意味着段的创建,如临时表(Global Temporary Table);
- 一张表也可以创建多个段,如分区表(Partition Table);
- 多个表也可以共存于一个段,如簇表(Cluster Table)。
SQL> col segment_name format a30
SQL> select segment_name,bytes/1024/1024 MB from user_segments;
SEGMENT_NAME MB
--------------------------------------------------------- ----------
TODAY 127
COPY 2
SCN .0625
SYS_FBA_DDL_COLMAP_13516 .0625
SYS_FBA_TCRV_13516 .6875
SYS_FBA_HIST_13516 .0625
SYS_FBA_HIST_13516 1
TOD 22
SYS_FBA_TCRV_IDX_13516 .4375
9 rows selected.
SQL>