段延迟

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xxzhaobb/article/details/82017971

-- 段延迟,创建表,并查看段
-- 默认情况下,从11.2开始,段延迟是true,

C##BB@win12c>show parameter  segment

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE
rollback_segments                    string
transactions_per_rollback_segment    integer     5
C##BB@win12c>

C##BB@orcl>CREATE TABLE part_time_employees (
empno NUMBER(8),
name VARCHAR2(30),
hourly_rate NUMBER (7,2)
)
SEGMENT CREATION DEFERRED;  2    3    4    5    6

表已创建

C##BB@orcl>

C##BB@win12c>CREATE TABLE hourly_employees (
  2  empno NUMBER(8),
  3  name VARCHAR2(30),
  4  hourly_rate NUMBER (7,2)
  5  )
  6  SEGMENT CREATION IMMEDIATE
  7  PARTITION BY RANGE(empno)
  8  (PARTITION empno_to_100 VALUES LESS THAN (100),
  9  PARTITION empno_to_200 VALUES LESS THAN (200));

表已创建。

C##BB@win12c>

C##BB@win12c>SELECT segment_name, partition_name FROM user_segments;

SEGMENT_NAME                   PARTITION_NAME
------------------------------ ------------------------------
HOURLY_EMPLOYEES               EMPNO_TO_100
HOURLY_EMPLOYEES               EMPNO_TO_200

C##BB@win12c>

C##BB@win12c>SELECT table_name, segment_created FROM user_tables;

TABLE_NAME                     SEGMENT_CREATED
------------------------------ ------------------------------
PART_TIME_EMPLOYEES            NO
HOURLY_EMPLOYEES               N/A

C##BB@win12c>

C##BB@win12c>SELECT table_name, segment_created, partition_name
  2  FROM user_tab_partitions;

TABLE_NAME                     SEGMENT_CREATED                PARTITION_NAME
------------------------------ ------------------------------ ------------------------------
HOURLY_EMPLOYEES               YES                            EMPNO_TO_100
HOURLY_EMPLOYEES               YES                            EMPNO_TO_200

C##BB@win12c>

插入数据

C##BB@win12c>INSERT INTO hourly_employees VALUES (99, 'FRose', 20.00);

已创建 1 行。

C##BB@win12c>INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);

已创建 1 行。

C##BB@win12c>INSERT INTO part_time_employees VALUES (50, 'KReilly', 10.00);

已创建 1 行。

C##BB@win12c>commit;

提交完成。

C##BB@win12c>

再次查询。发现插入数据后,段产生了 

C##BB@win12c>SELECT table_name, segment_created FROM user_tables;

TABLE_NAME                     SEGMENT_CREATED
------------------------------ ------------------------------
PART_TIME_EMPLOYEES            YES
HOURLY_EMPLOYEES               N/A

C##BB@win12c>

end

猜你喜欢

转载自blog.csdn.net/xxzhaobb/article/details/82017971